如何将对象推送到表单控件数组

时间:2021-02-08 13:05:08

标签: angular

我有一个 formGroup ,其中一个 formControls 是一个数组。

this.newPurchase = fb.group({
  supplierName: ["", Validators.required],
  supplierNumber: ["", Validators.required],
  supplierEmail: ['', Validators.required],
  stockitems: [[], Validators.required],
});

如你所见,stockitems 被声明为一个数组,我想向它推送一个对象。

这是我试过的:

exampleObject = {
name:'foo',
lastName:'fooAgain'
}

this.newPurchase.controls.stockitems.push(this.exampleObject)

对象没有被推入数组, 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

this.newPurchase = fb.group({
  supplierName: ["", Validators.required],
  supplierNumber: ["", Validators.required],
  supplierEmail: ['', Validators.required],
  stockitems: this.fb.array([], Validators.required),
});

在你的组件中,放置这个函数:

get stockItemFormControls(): FormArray {
    return <FormArray>this.newPurchase.get('stockitems');
  }

然后在需要的地方:

this.stockItemFormControls.push(this.fb.group({name: 'foo', lastName:'fooAgain'}));

this.stockItemFormControls.push(this.fb.group(this.exampleObject));
相关问题