在Angular中,可以使用FormArray来表示动态的表单数组。如果想要从一个特定的索引开始创建FormArray,可以使用FormBuilder的array()
方法来实现。以下是一个示例代码:
首先,在组件类中引入FormBuilder
和FormGroup
:
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
@Component({
selector: 'app-my-form',
templateUrl: './my-form.component.html',
styleUrls: ['./my-form.component.css']
})
export class MyFormComponent {
myForm: FormGroup;
constructor(private fb: FormBuilder) {
this.myForm = this.fb.group({
myArray: this.fb.array([])
});
}
get myArray() {
return this.myForm.get('myArray') as FormArray;
}
addControl() {
const control = this.fb.control('');
this.myArray.push(control);
}
removeControl(index: number) {
this.myArray.removeAt(index);
}
}
在上面的代码中,我们创建了一个myForm
表单,并在表单中创建了一个myArray
的FormArray。
接下来,在模板文件中,可以使用*ngFor
指令来循环遍历FormArray中的控件,并通过索引来设置控件的初始值。同时,可以使用addControl()
方法来动态添加新的控件,使用removeControl()
方法来删除指定索引的控件。
这样,就可以从指定索引开始创建FormArray,并且可以动态地添加或删除控件。