如何通过索引为动态窗体的控件设置值



我试图通过索引将值设置为动态表单的控件

动态表单看起来像这个

profileForm = this.formBuilder.group({
firstName: ['', Validators.required],
lastName: [''],
address: this.formBuilder.group({
street: [''],
city: [''],
state: [''],
zip: [''],
}),
aliases: this.formBuilder.array([this.formBuilder.control('')]),
});

我创建了一个getter,以便轻松访问表单数组实例中的别名

get aliases(): FormArray {
return this.profileForm.get('aliases') as FormArray;
}

我尝试将值设置为第一个Form数组控件,如下所示

setInitialValue(): void {
this.aliases.at(0).setValue('Nancy');
}

以上操作无声地失败。

通过索引为Form数组中的控件设置值的正确方法是什么?

let formArr = <FormArray>this.profileForm.controls['aliases'];
formArr.controls[i].setValue('Nancy');

这是我的工作。

我设法发现了我的错误。在以下模板中

<div *ngFor="let alias of aliases.controls; index as i">
<label>
Alias
<input type="text" [formControlName]="i" />
</label>
</div>

对于<input type="text" [formControlName]="i" />,我使用[formControl]="i"使用[formControlName]="i"解决问题

相关内容

  • 没有找到相关文章

最新更新