首页 > 解决方案 > 为具有不同 FormGroup 的 FormArray 设置值

问题描述

以下是代码的外观:

ngOnInit() {
this.myForm = this._fb.group({
  name: ['', [Validators.required, Validators.minLength(5)]],
  products: this._fb.array([this.addProductA(),this.addProductB()])
});

}

addProductA() { return this._fb.group({ id: ['', Validators.required], productId: [''], item: [''] }); }

addProductB() { return this._fb.group({ id: ['', Validators.required], product: [''] }); }

我可以将不同的表单组添加到表单数组中,但是在尝试将 setValue 设置为 formArray 时,如下所示:

this.myForm.controls['products'].setValue(products);

我收到错误

必须为表单控件提供一个值,名称为:item

这可能是因为在表单数组中添加了两种不同的 FormGroup products。这是将两个不同的表单组添加到表单数组的正确方法吗?如果是这样,如何解决上述问题

标签: angularangular-reactive-formsformarrayformgroups

解决方案


推荐阅读