2016-11-18 20 views
2

同じFormGroupで2つのフォームを作成することはできますか?FormGroupが同じ2つのフォーム?

エンティティを追加するフォームと編集するフォームがあります。 両方のフォームには同じフォーム要素があります。これまでは2つのフォームグループを作成してデータにアクセスする必要がありました。しかし、私はフォームグループをグローバルにして、両方の形式でそれを使用する必要があります。出来ますか?正しい方向に私を指差してください。どんな助言も役に立つでしょう。ありがとうございました。ここで

は私の抜粋です:

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': "" 
    }); 

addentitycomponentとeditentitycomponentの両方でこのformgroupを使用する必要があります。

+0

それは作成しない場合は、アップデートを行う存在する場合は、既存の項目は(通常databseによって自動生成)しているいくつかのIDのフォームチェックを提出...レスポンスの – Sasxa

+0

おかげ@Sasxa、しかし、私は使用していた場合各々が形態を有する2つの成分。すなわちAddEntityComponentおよびEditEntityComponentを含む。これは良い考えですが。 –

答えて

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. 
関連する問題