私たちは最近NG 7.2.15とTyptionScript 3.2.4からangular V8.2.14とTyptionScript v3.5.3]からアップグレードされました。親コンポーネントから子コンポーネントへのフォームグループを渡します。
以下は私の子コンポーネントです。 ts
@Component({selector:'edit-overview'})
export class ChildComponent implements OnInit {
public OverviewFormGroup : FormGroup
constructor(private controlContainer: ControlContainer) {
}
ngOnInit() {
this.OverviewFormGroup = <FormGroup>this.controlContainer.control;
}
}
_
child.component.html.
<div [formGroup] ='OverviewFormGroup'>
</div>
_
そして私の親コンポーネント
Parent.component.html
<div [formGroup]="Form1">
<edit-overview [formGroup] = "Form1.controls.OverviewFormGroup">
</edit-overview>
</div>
_
Parent.component.ts
export class ParentComponent {
constructor(private readonly fb: FormBuilder) {
this.Form1 = this.fb.group({
name: new FormControl('', [Validators.required]),
OverviewFormGroup: new FormGroup({
description: new FormControl('', [Validators.nullValidator])
})
})
}
}
_
このエラーをスローします.l型 'formgroup':controls、registercontrol、addcontrol、removecontrol、および3 template lineで、次のプロパティが見つかりません。
親から子どもにフォームグループを渡す以前は問題はありませんでした。私はここで何か不足していますか?フォームグループ宣言のコントロールにはすでに価値がありました。
FormBuilder APIを使用して、フォームコントロールを明示的に定義する必要はありません。試してみてください:
export class ParentComponent {
constructor(private readonly fb: FormBuilder) {
this.Form1 = this.fb.group({
name: ['', [Validators.required]],
OverviewFormGroup: this.fb.group({
description: ['', [Validators.nullValidator]]
})
})
}
}
_