我需要将反应式表单数组的特定表单控件设置为一个值。我正在使用以下内容:
(<FormArray>this.formGroup.get('test')).at(i).setValue(oldFr);
其中i
是应该进行更改的索引,oldFr
是要设置的值。
但我忘了在每个索引中都有多个表单控件。我需要设置的表单控件称为formControlName="fr"
。
我试过了:
(this.formGroup.get('test'((.at(i(.controls['fr'].setValue(oldFr(;
但我有以下错误:
错误:必须为名称为"fr"的表单控件提供一个值
和
无法读取空的属性"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)