我有这个表单,我需要将模型映射到表单数组声明。
formGroup: FormGroup;
builder: FormBuilder
data :{
lineItems : [
{
qty: null,
item: null
}
]
}
this.formGroup = this.builder.group({
lineItems: this.builder.array([
{
item: [this.lineItems.item, Validators.required],
}
])
});
我对此表示怀疑"item:[this.data.lineItems.item,需要验证器]";domain.lineItems是一个数组,以及如何将其与每个formbuilder数组进行映射。
<div formArrayName="classmates">
<div *ngFor="let item of lineItems; trackBy: trackId; let i = index;">
<input
type="number"
class="form-control form-control-lg form-control-solid"
/>
</div>
</div>
您要搜索的是:
this.formGroup = this.builder.group({
lineItems: this.builder.array(
this.data.lineItems.map(line => {
return this.builder.group({item: [line.item, Validators.required]}
})
)
});
通过这种方式,您在formArray 中有一个formGroup