我有以下问题,我想要patchValue到角度反应形式我使用以下代码:
export function clearArray(formArray: FormArray) {
while (formArray.controls.length) {
removeAtIndex(formArray, 0);
}
}
export function makeArrayForm(
formArray: FormArray,
modelGroup: AbstractControl,
data: any[] = []
) {
clearArray(formArray);
let index = 0;
do {
formArray.push(modelGroup);
index++;
} while (index < data.length);
}
export function bindData(
formArray: FormArray,
modelGroup: AbstractControl,
data: any[] = []
) {
makeArrayForm(formArray, modelGroup, data);
formArray.patchValue(data);
}
模型组由FormBuilder在conmponent中制作,我调用此函数我尝试添加以下数组
[
{{id:1, name:{Jonny}},
{{id:2, name:{Tonny}}
]
在调用bindData值后,我的表单数组被我的数组的最后一个元素填充了什么错误 . 哪里弄错了?
1 回答
我解决了它 . 问题是模型组是对象 . 对象通过引用传递给函数,因此modelGroup是重复的多时间 . 解