Hec*_*tor 3 javascript typescript angular
如您所见,我有一个带有子组件的父表单组件。{{myFormFather.value}} 显示我的nickName价值和name价值,但不显示age价值。{{myFormFather.status}} 它不识别组件子级。就像我的孩子是一个幻影,为什么?
我的-form-father.html
<form [formGroup]="myFormFather" (ngSubmit)="onSubmit()">
<input formControlName="nickName">
<input formControlName="name">
<my-form-child
[age]="myFormFather">
</my-form-child>
<button type="submit"
[disabled]="myFormFather.invalid">Save
</button>
</form>
Run Code Online (Sandbox Code Playgroud)
my-form-father.ts
myFormFather = new FormGroup({
nickName: new FormControl(),
name: new FormControl()
});
constructor(private fb:FormBuilder) {}
ngOnInit() {this.createForm()}
createForm() {
this.myFormFather = this.fb.group({
nickName: ['', [Validators.required],
name: ['', [Validators.required]
});
}
Run Code Online (Sandbox Code Playgroud)
my-form-child.html
<div [formGroup]="ageForm">
<input formControlName="age">
</div>
Run Code Online (Sandbox Code Playgroud)
my-form-child.ts
@Input() ageForm = new FormGroup({
age: new FormControl()
});
constructor(private fb:FormBuilder) {}
ngOnInit() {this.createForm()}
createForm() {
this.ageForm = this.fb.group({
age: ['', [Validators.required]]
});
}
Run Code Online (Sandbox Code Playgroud)
您好,您一直在寻找的解决方案
演示堆栈闪电战
问题是:您覆盖了从父级传递的表单组
@Input() ageForm = new FormGroup({
age: new FormControl()
});
constructor(private fb: FormBuilder) {}
ngOnInit() {
this.createForm()
}
createForm() {
// This is overwriting the FormGroup passed from parent!
this.ageForm = this.fb.group({
age: ['', [Validators.required]]
});
// Instead you had to use
// this.ageForm.addControl("age", new FormControl('', Validators.required));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3508 次 |
| 最近记录: |