我的初始 FormGroup 包含一些 FormControls 和一个 FormArray,它们应该动态填充 FormGroups
myForm: formBuilder.group({
....
noOfSomething: ['', Validators.required],
something: this.formBuilder.array([])
}),
我可以通过addButton在表单数组内创建一个FormGroup,并通过删除按钮将其删除。
但我的要求是当"noOfSomething"(这是一个数字)的值发生变化时,而不是根据"noOfSomething"的值,许多表单组应该添加到FormArray中。 和 我可以在该表单数组中填充表单组。
我不确定如何初始化它并在模板中循环访问它。
如果我理解正确,您可以查看以下示例。
https://book-monkey2.angular-buch.com/iteration-7/i18n/admin
源代码可在 GitHub 上获得。
在响应式表单中,您可以使用 AFTER 知道字段何时更改 创建订阅 valueTChanges 的表单,例如
myForm.get('noOfSomething').valueChanges((value:any)=>
{ let controls:FormGroup[]=[]
for (let i=0;i<value;i++)
{
controls.push(this.formBuilder.group(
{uno:0
dos:0
})
}
myForm.get('something')=this.formBuilder.array(controls)
})