在formArray中的formControl上执行setValue可以通过以下步骤实现:
const control = formArray.at(index);
,其中index是formControl在formArray中的索引。control.setValue(value);
,其中value是要设置的值。需要注意的是,setValue方法会覆盖formControl的当前值,如果你只想修改部分属性,可以使用patchValue方法。
以下是一个示例代码,演示如何在formArray中的formControl上执行setValue:
import { Component } from '@angular/core';
import { FormGroup, FormArray, FormControl } from '@angular/forms';
@Component({
selector: 'app-example',
template: `
<form [formGroup]="myForm">
<div formArrayName="myFormArray">
<div *ngFor="let control of myFormArray.controls; let i = index">
<input [formControlName]="i" placeholder="Value">
</div>
</div>
</form>
<button (click)="setValue()">Set Value</button>
`,
})
export class ExampleComponent {
myForm: FormGroup;
constructor() {
this.myForm = new FormGroup({
myFormArray: new FormArray([
new FormControl('Value 1'),
new FormControl('Value 2'),
new FormControl('Value 3'),
]),
});
}
setValue() {
const formArray = this.myForm.get('myFormArray') as FormArray;
const control = formArray.at(0);
control.setValue('New Value');
}
}
在上述示例中,我们创建了一个包含3个formControl的formArray,并将其绑定到模板中的input元素上。当点击"Set Value"按钮时,会将第一个formControl的值设置为"New Value"。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云