在Angular中,如果希望动态地添加和删除表单中的控件,可以使用FormArray。但是,如果FormArray中的控件没有被正确验证,那么在提交表单时可能会遇到问题。
解决这个问题的方法是使用控件本身的valid属性来验证FormArray中的控件。以下是一个示例代码:
myForm: FormGroup;
ngOnInit() { this.myForm = new FormGroup({ myArray: new FormArray([]) }); }
addControl() {
const control = new FormControl('', Validators.required);
(
removeControl(index: number) {
(
onSubmit() {
(
// 如果表单的验证通过,则提交表单 if (this.myForm.valid) { // 执行提交表单的操作 } }
在上面的示例中,addControl方法用于添加一个新的FormControl,removeControl方法用于删除指定索引的控件。onSubmit方法用于提交表单,并验证FormArray中的每个控件是否已被修改和验证。如果表单的验证通过,则可以执行提交表单的操作。