2

我在 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());
}

任何想法为什么在向数组中添加新项目时会引发此错误?

有没有更好的方法将项目添加到嵌套表单数组?

4

0 回答 0