这个错误通常是由于在模板中使用了 Reactive Forms 嵌套形式时引起的。解决方法是在表单组件的代码中声明一个 FormGroup 实例并将其绑定到模板中的 form 元素上。例如,假设你有一个嵌套表单,其中包含一个名为 subgroup 的子表单组。那么在组件类中应该如下声明:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-my-form',
templateUrl: './my-form.component.html',
})
export class MyFormComponent implements OnInit {
form: FormGroup;
constructor(private fb: FormBuilder) {}
ngOnInit() {
this.form = this.fb.group({
name: ['', Validators.required],
subgroup: this.fb.group({
subname: ['', Validators.required],
subage: ['', Validators.required],
}),
});
}
submit() {
console.log(this.form.value);
}
}
在模板中,将 formGroup 绑定到 FormGroup 实例中的控件,如下所示:
这样就可以解决'需要 FormGroup 实例以用于 formGroup 错误”的问题。