#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:
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));