angular - 不能使用 formGroup.controls['xxx'].setValue('someString');
问题描述
不能使用FormGroup.controls['lable'].setValue('some string');
我的 Angular 反应形式有 FormControls 和 FormArray。在方法中,我想在 FormArray 的某个索引处设置值。我可以在特定索引处获取 FormArray 和 FormGroup(b 是代码中某个索引处的 foormGroup)。但是在我无法为该 FormGroup 设置值之后。
表格声明(工作)
this.addUserForm = this.formBuilder.group({
firstName: ['', Validators.required],
lastName: ['', Validators.required],
primaryNode: [{lable: '' , uuid: ''},Validators.required],
email: ['', Validators.required],
roleFormArray: this.formBuilder.array([]),
password: ['', Validators.required],
repeatPassword: ['', Validators.required]
});
在 FORMARRAY 中添加表格(工作中)
roleFormArray.push(this.formBuilder.group({
role: ['', Validators.required],
node: [{lable: '' , uuid: ''}, Validators.required]
}));
let a = this.addUserForm.get('roleFormArray');
不工作的代码
在方法
let b = (<FormGroup((<FormArray>this.addUserForm.controls['roleFormArray']).controls[index]));
调试器//直到现在 b 有数据作为 FormGroup
//但是这条线不起作用
b.controls['role'].setValue('somevalue');
我想将值设置为“角色”和“节点”
解决方案
因为它是一个formArray,你可以尝试:
b.controls[index].controls['role'].setValue('somevalue');
或者:
b.get([index, 'role']).setValue('somevalue');
推荐阅读
- rust - 如何将 2D vec 作为切片传递给函数?
- android - 将数据从活动发送到第 3 方活动的对象
- powershell - 在 Powershell Get-ADUser -Filter 中使用变量
- android - 使用服务进行两项活动
- java - 这里有什么问题?学习java
- python - 有什么方法可以检测 python 诅咒中的鼠标移动吗?
- python - 为什么这个门控 SR 锁存器的逻辑不起作用?
- c# - 为什么 EF Scaffold-DbContext 命令在报告“未找到设计时服务”后抛出 NRE,针对 net6.0?
- ios - 带有背景完整图像的登机屏幕 - SwiftUI
- reactjs - 语义-ui-react 卡片高度变化