如何以嵌套形式设置表单控制值

问题描述 投票:0回答:1
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');

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

angular angular-material angular6 angular7
1个回答
0
投票

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

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

OR

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

© www.soinside.com 2019 - 2024. All rights reserved.