在Angular 8中,可以使用FormArray
来追加表单数据。以下是一个示例解决方法:
首先,在你的组件中定义一个FormArray
属性:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';
@Component({
selector: 'app-your-component',
templateUrl: './your-component.component.html',
styleUrls: ['./your-component.component.css']
})
export class YourComponentComponent implements OnInit {
form: FormGroup;
dataArray: FormArray;
constructor(private formBuilder: FormBuilder) {}
ngOnInit() {
this.form = this.formBuilder.group({
dataArray: this.formBuilder.array([])
});
this.dataArray = this.form.get('dataArray') as FormArray;
}
addData() {
this.dataArray.push(this.formBuilder.control(''));
}
submitForm() {
console.log(this.form.value);
}
}
然后,在模板中使用FormArray
迭代表单控件:
在上述示例中,我们使用FormBuilder
创建了一个包含dataArray
的FormGroup
。在ngOnInit
方法中,我们将dataArray
赋值为form
中的dataArray
控件。然后,我们使用addData
方法向dataArray
中添加新的控件。最后,我们在submitForm
方法中打印出表单的值。
希望这个示例能帮助到你解决问题!