【发布时间】:2019-05-04 10:01:10
【问题描述】:
如何在子组件中使用 formGroupName? 例如:
我有 ParentFormComponent
parentForm: FormGroup;
constructor(private fb: FormBuilder, private http: Http) { }
ngOnInit() {
this.parentForm = this.fb.group({
_general: this.fb.group ({
ProjectName:''
})
})
}
在html中:
<form [formGroup]="parentForm" (ngSubmit)="submitForm()">
<div formGroupName="_general">
<mat-form-field>
<input matInput placeholder="Project name"
formControlName="ProjectName">
</mat-form-field>
</div>
</form>
它工作得很好,但是当我想使用子组件时它不起作用:
<form [formGroup]="parentForm" (ngSubmit)="submitForm()">
<app-child [parentForm]='parentForm'></app-child>
</form>
当我将它插入子组件时:
<div formGroupName="_general">
<mat-form-field>
<input matInput placeholder="Project name"
formControlName="ProjectName">
</mat-form-field>
</div>
在ts文件中
@Input() parentForm:FormGroup;
我遇到了错误: formGroupName 必须与父 formGroup 指令一起使用。您需要添加一个 formGroup 指令并将一个现有的 FormGroup 实例传递给它(你可以在你的类中创建一个)。
【问题讨论】:
-
请参考this link,它可能会对您有所帮助。
标签: angular angular6 angular-reactive-forms