首页 > 解决方案 > 在表单组反应形式中插入值

问题描述

我有这样的东西

let formGroup = new FormGroup({
  operationalAM: new FormGroup({
    endTime: new FormControl('')
  }),
  operationalPM: new FormGroup({
    startTime: new FormControl('')
  })
});

我正在尝试像这样将值设置为endTimestartTime

formGroup.controls.operationalAM.value.endTime.setValue('1300');
formGroup.controls.operationalPM.value.startTime.setValue('');

但我有错误

TypeError:formGroup.controls.operationalAM.value.endTime.setValue 不是函数

有人知道如何在 formGroup 中为 formGroup 设置值吗?

标签: angularangular-reactive-formsformgroups

解决方案


您可以像这样在控件中设置值:

formGroup.controls.get('operationalAM').setValue({ endTime: '1300' });
formGroup.controls.get('operationalPM').setValue({ startTime: '1300' });

您可以使用 patchValue ,其工作原理如下

使用 patchValue() 方法替换对象中定义的任何属性,这些属性在表单模型中已更改。

formGroup.controls.get('operationalAM').patchValue({ endTime: '1300' });

这样,您可以保留参考,但仅更新endTime


推荐阅读