https://angular-tpw9sy.stackblitz.io
需要向表单动态添加两个表单字段。没有从哪里开始。 我开发了我的应用程序的副本。 您可以在上面找到副本的链接。
答案 0 :(得分:0)
如果您有一个formArray,只需使用推入
(this.myForm.get('myArray') as FormArray).push(
this.fb.group({
company:"123"
})
);
如果您想在反应式表单中添加控件,则可以
this.myForm=this.fb.group({
...this.myForm.controls,
newControl:this.fb.control("newControl")
})
如果要向Formarray的元素添加一些控件,则可以
index=0;
let rowArray:FormGroup=(this.myForm.get('myArray') as FormArray)
.at(index) as FormGroup;
let newRowArray=this.fb.group({
...rowArray.controls,
newControl:this.fb.control("newControl")
});
(this.myForm.get('myArray') as FormArray).controls[index]=newRowArray;
this.myForm=this.fb.group({
...this.myForm.controls,
myArray:this.fb.array((this.myForm.get('myArray') as FormArray).controls)
}
)
其中myForm是您的表单,而您在构造函数中拥有
constructor(private fb: FormBuilder) { }