如何在嵌套表单中设置表单控件值

时间:2019-11-10 17:44:25

标签: angular angular-material angular6 angular7

this.workScheduleTableForm =this.fb.group({
  rowId:[''],
  personId:[''],
  permanentWorkSchedule:[''],
  workScheduleDayDetails:this.fb.group({
     days:[''],
    sun:this.fb.group({
      hr:[''],
      code:[''],
      start:[''],
      end:[''],
      lunch:[''],
    }),
  }),
})

我可以像

那样设置第二级
this.workScheduleTableForm.controls.workScheduleDayDetails['controls']['days'].setValue('test')

第三级问题

this.workScheduleTableForm.controls.workScheduleDayDetails.control.days.['control']['hr'].setValue('test');

我尝试了这个,但是没有用。

1 个答案:

答案 0 :(得分:1)

它的工作方式与第二级相同。请注意,您已经在第三级代码中编写了control而不是controls

this.workScheduleTableForm.get('workScheduleDayDetails').get('sun').get('hr').setValue('value');

OR

this.workScheduleTableForm.controls.workScheduleDayDetails.controls.sun.controls['hr'].setValue('value');