我在 Angular 2/4 应用程序中使用反应式表单,当我尝试将子表单组添加到表单数组时,我在控制台中收到以下错误消息:
orderitems.component.html:84 错误上下文 DebugContext_ {view: Object, nodeIndex: 0, nodeDef: Object, elDef: Object, elView: Object}
它指向组件 HTML 中的这一行:
<tbody formArrayName="items">
<tr *ngFor="let item of orderForm.controls.items.controls; let i=index" [formGroupName]="i">
错误在第二行*ngFor
。
我正在构建这样的表格:
buildForm(): void {
this.orderForm = this.fb.group({
orderNo: '',
...
items : this.fb.array([])
这是添加功能
addItem(item?: any) {
const itemsControl = <FormArray>this.orderForm.controls['items'];
itemsControl.push(item != null ? item : this.initItems());
}
任何想法为什么在向数组中添加新项目时会引发此错误?
有没有更好的方法将项目添加到嵌套表单数组?