我在角度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());
}
在向阵列添加新项目时,为什么会抛出此错误?
有没有更好的方法将项目添加到嵌套表单数组?