如何在另一个 formArray 中循环一个 FormArray [英] How to loop over a FormArray inside another formArray
问题描述
我可以遍历计划数组以访问 dayHeading.我无法在循环中访问 daySchedule.我尝试添加第二个循环来访问 daySchedule,但成功率为零.我如何才能添加一个新循环来循环使用 daySchedule.
core.js:6162 ERROR 错误:找不到路径控制:'dailySchedule ->0 ->时间'
form = new FormGroup({时间表:新的FormArray([新表单组({dayHeading : new FormControl(''),daySchedule : new FormArray([新表单组({时间:new FormControl(''),名称:new FormControl(''),}),]),}),])});
<输入类型=文本"formControlName="dayHeading";placeholder="输入每日标题";/><输入类型=文本"formControlName=时间"placeholder="输入活动的预定时间";/><输入类型=文本"formControlName=名称"placeholder="输入事件名称";/>
你总是想控制一个 FormArray 你需要一个getter"获取formArray.由于您有一个 formArray 并且在一个 FormArray 中,您需要两个函数.第一个是getter",另一个是带有参数index"的简单函数
获取 scheduleFormArray(){返回 this.form.get('schedule') 作为 FormArray}getDaySchedule(索引:数字){返回 this.scheduleFormArray.at(index).get('daySchedule') 作为 FormArray}
你可以使用唐老鸭的html"
<div *ngFor="let event of scheduleFormArray.controls;让 i = 索引"[formGroupName]=i">....<div formArrayName="daySchedule"><!--这里使用函数 getDaySchedule(i)--><div *ngFor="let scheduleEvent of getDaySchedule(i).controls;让 j = 索引"[formGroupName]=j">....