在Angular 8中,FormBuilder.group不会保留数组的问题可以通过以下方法解决:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent implements OnInit {
myForm: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.myForm = this.formBuilder.group({
myArray: this.formBuilder.array([])
});
}
get myArray(): FormArray {
return this.myForm.get('myArray') as FormArray;
}
addNewItem() {
this.myArray.push(this.formBuilder.control(''));
}
}
在上面的代码中,我们使用了FormArray来表示数组数据,并在组件初始化时将其添加到myForm中。
在上面的模板中,我们使用formArrayName指令来指定FormArray的名称,并使用ngFor循环来遍历数组控件。我们还为每个数组项创建了一个文本输入框,并将其与相应的索引绑定。
通过上述方法,你可以在Angular 8中使用FormBuilder.group来保留数组数据。