我有2个表格。一个父母表格,一个儿童表格。它看起来像这样:
<form [formGroup]="form" (submit)="makeSomething()">
<input type="text" formControlName="test" />
<some-form-component></some-form-component>
<input type="submit" />
</form>
对于某些表单组件,我使用这样的文件:
<form [formGroup]="form">
<input type="text" formControlName="somechildfield" />
</form>
我父组件的组件如下所示:
import {Component, OnInit} from "@angular/core";
import {FormBuilder} from "@angular/forms";
@Component({
selector: 'my-parent-form',
templateUrl: 'my-parent.form.html'
})
export class ParentFormComponent implements OnInit {
private form: any;
constructor(private builder: FormBuilder) {}
ngOnInit(): void {
this.form = this.builder.group({
'test': [''],
});
}
makeSomething() {
console.log( this.form.value );
}
}
在我的子表单中实现ControlValueAccessor会使它以父表单形式访问,但是对于父表单组件中的多个子表单组件,我是否需要在每个子表单中实现ControlValueAccessor?这是一种有效的方法吗?