在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方法中打印出表单的值。
希望这个示例能帮助到你解决问题!