web-dev-qa-db-ja.com

type 'abstractControl'には、 'formgroup'とtype 'formgroup'の型:コントロール、registercontrol、addcontrol、removecontrol、および3つのプロパティがありません。

私たちは最近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で、次のプロパティが見つかりません。

親から子どもにフォームグループを渡す以前は問題はありませんでした。私はここで何か不足していますか?フォームグループ宣言のコントロールにはすでに価値がありました。

4
Priyanka

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]]
      })
    })
  }
}
 _
0
C_Ogoo