Angular语言 - 根据给定的数据自动填充嵌套表单



这是我的stackblitz: https://stackblitz.com/edit/create-eez7wi?file=app/app.component.ts

基本上当我加载资源时,如果输入的技能超过1,它会填充所有期望的技能。

setResourceDTOS() {
let control = <FormArray>this.myForm.controls.resourceDTOS;
this.data.resourceDTOS.forEach((x) => {
control.push(
this.fb.group({
seniority: x.seniority,
skillDTOS: this.setResourceSkills(x),
resourceNotes: x.resourceNotes,
})
);
});
}
setResourceSkills(x) {
let arr = new FormArray([]);
x.skillDTOS.forEach((y) => {
arr.push(
this.fb.group({
skill: y.skill,
})
);
});
return arr;
}

和for循环,为资源设置数据:

for (
let currentLength = 0;
currentLength < newdata.resourceDTOS.length - 1;
currentLength++
) {
this.setResourceDTOS();
}
this.myForm.patchValue(newdata);

我如何使它也设置所有的技能?

这个问题似乎可以通过删除data并使用newdata来解决。另外,for循环也不需要,可以删除。

当您修补newdata时,没有地方可以修补额外的技能,因为您只在表单数组中添加一个技能(使用data创建,而不是newdata)。在foreach中添加控制台日志可以看到这一点。- @Andrew Allen

相关内容

  • 没有找到相关文章

最新更新