2016-11-18 4 views
2

Ist es möglich, zwei Formulare mit derselben FormGroup zu erstellen?Zwei Formulare mit derselben FormGroup?

Ich habe ein Formular zum Hinzufügen einer Entität und ein anderes zum Bearbeiten. beide Formen haben die gleichen Formelemente. Bisher muss ich zwei Formulargruppen schreiben und auf die Daten zugreifen. Aber ich muss die Formulargruppe global machen und diese in beiden Formen verwenden. Ist es möglich? Bitte zeig mich in eine richtige Richtung. Jeder Rat wäre hilfreich. Vielen Dank.

Hier ist mein Code-Schnipsel:

AddEntityComponent:

this.addEntityForm = addEntityFormBuilder.group({ 
     'Code': "", 
     'Name': [null, Validators.required], 
     'Type': "", 
     'Email': "", 
     'Website': "", 
     'DefaultDivision': "", 
     'EffectDate': Date.now, 
     'PanNo': "", 
     'HomeCurrency': "", 
     'LstNo': "", 
     'CstNo': "", 
     'FaxNo': "", 
     'Address1': "", 
     'Address2': "", 
     'Address3': "", 
     'RegdAddress1': "", 
     'RegdAddress2': "", 
     'RegdAddress3': "", 
     'IsActive': "" 
    }); 

brauchen diese formgroup sowohl addentitycomponent und editentitycomponent zu verwenden.

+0

Wenn Sie einreichen Form Scheck für einige ID, die vorhandenen Elemente haben (in der Regel durch databse automatisch generieren), wenn es Updates existiert tun, wenn nicht schaffen ... – Sasxa

+0

Dank @Sasxa für die Antwort, aber ich bin mit zwei Komponenten haben jeweils eine Form. d. h. AddEntityComponent und EditEntityComponent. Obwohl das eine gute Idee ist. –

Antwort

1
 if(flag="add") 
     { 
      this.addEntityForm = addEntityFormBuilder.group({ 
       'Code': "", 
       'Name': [null, Validators.required], 
       'Type': "", 
       'Email': "", 
       'Website': "", 
       'DefaultDivision': "", 
       'EffectDate': Date.now, 
       'PanNo': "", 
       'HomeCurrency': "", 
       'LstNo': "", 
       'CstNo': "", 
       'FaxNo': "", 
       'Address1': "", 
       'Address2': "", 
       'Address3': "", 
       'RegdAddress1': "", 
       'RegdAddress2': "", 
       'RegdAddress3': "", 
       'IsActive': "" 
      }); 
     } 

     elseif(flag="edit") 
     { 
      var entity=service.getentity(); 
      this.addEntityForm = addEntityFormBuilder.group({ 
       'Code': entity.code, 
       'Name': entity.name, 
       .... 
       'IsActive': entity.IsActive 
      }); 
     } 


    It assigns data when edit. 
same when submit the form use flag. 
Verwandte Themen