2016-11-18 121 views
2

是否可以使用相同的FormGroup创建两个表单?具有相同FormGroup的两种形式?

我有一种形式来添加一个实体,另一种来编辑。 两种形式都有相同的表单元素。到目前为止,我必须编写两个表单组并访问数据。但我需要使formgroup具有全局性,并以这两种形式使用它。可能吗?请指出一个正确的方向。任何意见将是有益的。谢谢。

这里是我的代码片段:

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

当您提交了一些ID,现有的项目已经(通常是自动生成DATABSE)形式的检查,如果存在的话做更新,如果不创造... ... – Sasxa

+0

感谢@Sasxa的反应,但我使用两个组件各自具有一种形式。即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. 
相关问题