angular - Angular 和 Reactive 表单数组在表单数组中设置表单控件值,给出错误必须为表单控件名称提供值
问题描述
我需要将反应式表单数组的特定表单控件设置为一个值。我正在使用以下内容:
(<FormArray>this.formGroup.get('test')).at(i).setValue(oldFr);
应该在哪里i
进行更改的索引以及oldFr
要设置的值。
但是我忘记了每个索引中有多个表单控件。我需要设置的表单控件称为formControlName="fr"
.
我试过:
(this.formGroup.get('test')).at(i).controls['fr'].setValue(oldFr);
但我有以下错误:
ERROR 错误:必须为表单控件提供一个值,名称为:'fr'
和
无法读取 null 的属性“at”
如何设置位于控件数组内的表单控件的值?
解决方案
听起来您有一个 FormGroup,其键包含一个 FormArray,该 FormArray 本身包含一个 FormGroups 数组。
const formGroup = new FormGroup({
test: new FormArray([
new FormGroup({
fr: new FormControl('')
})
])
})
formGroup.get('test').at(0).get('fr').patchValue(oldFr)
推荐阅读
- authentication - 构建 BaaS 时如何向客户的用户提供访问令牌?是否有 OAuth2 授权?
- c++ - 设置 MagSetImageScalingCallback 时 Windows 放大镜窗口导致异常
- laravel - 传递类名及其变量作为参数
- xamarin - 如何继续运行 RecognizerIntent 并从麦克风输入中获取语音到文本字符串
- azure-devops - Azure devops pfx 安装在远程虚拟机中
- css - 图像未显示在我的 React 滑块中,样式化组件
- .net-core - .net core 3.1 发布单个文件 probject 时出现“runreadytoruncompiler”错误
- python - 通过替换它来模拟类
- excel - Power Query:从列中捕获运算符并在计算列中使用
- flutter - 如何通过颤振获取firestore中的最后一个文档ID?