angular - 在表单组反应形式中插入值
问题描述
我有这样的东西
let formGroup = new FormGroup({
operationalAM: new FormGroup({
endTime: new FormControl('')
}),
operationalPM: new FormGroup({
startTime: new FormControl('')
})
});
我正在尝试像这样将值设置为endTime和startTime
formGroup.controls.operationalAM.value.endTime.setValue('1300');
formGroup.controls.operationalPM.value.startTime.setValue('');
但我有错误
TypeError:formGroup.controls.operationalAM.value.endTime.setValue 不是函数
有人知道如何在 formGroup 中为 formGroup 设置值吗?
解决方案
您可以像这样在控件中设置值:
formGroup.controls.get('operationalAM').setValue({ endTime: '1300' });
formGroup.controls.get('operationalPM').setValue({ startTime: '1300' });
您可以使用 patchValue ,其工作原理如下:
使用 patchValue() 方法替换对象中定义的任何属性,这些属性在表单模型中已更改。
formGroup.controls.get('operationalAM').patchValue({ endTime: '1300' });
这样,您可以保留参考,但仅更新endTime
推荐阅读
- mongodb - 执行 $map 后,如何在 $addFields 阶段将 $toObjectId 用于 id 数组?
- jquery - 如何从 jQuery 数据表中过滤逗号分隔值和精确值?
- json - 如何将数据从控制器 (JSON) 加载到 View 中的 ListBox?
- c++ - C++ 只调用了一个构造函数
- android - android studio 4.2 无法安装android sdk
- download - 在任何浏览器上停止使用令牌下载文件
- primevue - PrimeVUE 嵌套表格列标题为空?
- angular - 树结构切换可见性,基于选中状态 - Angular
- android - 在安卓设备上安装应用程序,弹出消息似乎被播放保护阻止
- c# - C#如何为每个连接设置不同的代理服务器?