在Angular中,FormArray是一个表示表单中动态添加的控件数组的特殊类型。由于FormArray是一个表单控件数组,它不支持使用*ngFor指令进行迭代。不过,我们可以使用一些其他方法来解决这个问题。
一种方法是使用FormArray的controls属性来获取控件数组,并使用这个数组进行迭代。可以在组件模板中使用*ngFor指令来迭代FormArray的controls属性。
在组件类中,需要先初始化FormArray,并将其添加到表单中。下面是一个完整的示例:
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
@Component({
selector: 'app-my-form',
template: `
`
})
export class MyFormComponent {
myForm: FormGroup;
constructor(private fb: FormBuilder) {
this.myForm = this.fb.group({
myFormArray: this.fb.array([])
});
}
get myFormArray() {
return this.myForm.get('myFormArray') as FormArray;
}
}
使用这种方法,我们可以成功迭代FormArray中的控件,并在模板中进行操作。