【发布时间】:2019-11-03 04:16:48
【问题描述】:
在编辑来自 DB 的输入值时,如何修补 formArray 中多个输入的值?通过实现动态输入。
--这是我的 formGroup 和 formArray--
` this.accountsForm = new FormGroup({
'type_name': new FormControl('', Validators.required),
'state': new FormControl(true, Validators.required),
'masks': this.MaskArray,
}); `
--这是FormArray--
`onInit() {
this.MaskArray = new FormArray([]);
this.MaskArray.push(
new FormGroup({
mask: new FormControl()
})
);
`
---这个动态输入创建
`createItem() {
(<FormArray>this.accountsForm.get('masks')).push(
new FormGroup({
mask: new FormControl()
})
);
}
`
---这里出现了问题。我试图从 DB 中获取值并传递给输入,它仅适用于来自 data.rows 的数组中具有一个值的输入。 如何将 data.row 中的多个值传递给 formArray 的掩码控制器--
`this.subs.add(this.sql.query(`Select t.Mask From Mid_s_Account_Type_Masks t Where Type_Id=${this.type_id} `).subscribe(data => {
this.maskObj = data.rows;
console.log(this.maskObj);
for(var i = 0; i < this.maskObj.length ; i++){
var j = 0;
for(let row of this.maskObj){
(<FormArray>this.accountsForm.controls['masks']).at(j).patchValue({
mask: row.mask,
});
j++;
console.log(row.mask);
}
console.log(j);
}
}));`
【问题讨论】:
标签: angular7 angular-reactive-forms formarray