如何对Angular中的嵌套FormArray执行patch赋值操作?
我有从模态框表单获取的数据,需要patch到另一个折叠面板的表单中。
数据源表单初始化代码
formInitializer() { this.agrmntsForm = this.formBuilder.group({ sales_price: new FormControl(''), closing_cost_support: new FormControl(''), financing: new FormControl(''), contract_date: new FormControl(''), inspection_period: new FormControl(''), closing_date: new FormControl(''), contacts: this.formBuilder.array([]), }); }
目标表单初始化代码
mainFormInitializer() { this.mainForm = this.formBuilder.group({ agreements: this.formBuilder.array([]), }); }
现有实现与问题
我在第一个模态框表单提交时执行数据patch操作,外层的FormArray已经可以正常赋值,但无法成功patch其内部嵌套的FormArray,当前使用的patch代码如下:
patchControls(formValue) { const control = <FormArray>this.mainForm.get('agreements'); // const control2 = <FormArray>this.mainForm.get('contacts'); console.log('form here', this.mainForm.controls.contacts); for (const obj of formValue) { const addrCtrl = this.createAgreementsGroup(); const contactsCtrl = this.createContactsCtrl(); addrCtrl.patchValue(obj); control.push(addrCtrl); } }
内容的提问来源于stack exchange,提问作者Aizaz
相关产品推荐
相关产品推荐

