我创建了一个动态反应形式,除了FormArray
的第一项显示为null之外,它都可以正常工作。
该数组的后续项生成良好。而且,如果我在生成其他项目后删除了第一项,则数据将正确保存。
我在控制台上看到以下错误,并尝试寻找解决方案,但是根据网络上的各种答案,我已经正确地做到了。
ERROR Error: Cannot find control with path: 'contentBoxes -> 0 -> contentType' Unable to display error. Open your browser's console to view. Angular is running in the development mode. Call enableProdMode() to enable the production mode. ERROR Error: Cannot find control with path: 'contentBoxes -> 0 -> revenueShare' Unable to display error. Open your browser's console to view.
可以在此处查看和运行代码:https://stackblitz.com/edit/angular-ui5n8c
非常感谢您的帮助。
答案 0 :(得分:0)
您在索引0处放置了该函数的引用:this.buildGroup
;当然应该是:this.buildGroup()
。这样,将调用该函数并返回实际对象。所以你的问题是,函数没有被执行。
所以总结一下:
```
buildArray(): FormArray {
this.contentBoxes = this._fb.array([
this.buildGroup() // <---- notice the () I added, these are needed!
//this._fb.control('')
]);
return this.contentBoxes;
}
```