النوع 'FormArray' غير قابل للتعيين إلى النوع 'any[]'. الخاصية 'includes' مفقودة في النوع 'FormArray'. في Angular6 TypeScript


كيفية حل الخطأ المذكور أدناه:

نوع 'FormArray' غير قابل للتعيين إلى النوع 'any[]'. الخاصية 'includes' مفقودة في النوع 'FormArray'. في السطر "this.items=this.AddUserstep2Form.get('items') as FormArray;"

لدي ملف ts المذكور أدناه. الرجاء المساعدة.

import { FormBuilder, FormGroup, Validators ,FormArray} from '@angular/forms';

 AddUserstep2Form: FormGroup;   items: any[] = [];

 ngOnInit() {
    this.AddUserstep2Form = this.fb.group({

      stateCode: ['',Validators.required],
      cityId:['',Validators.required],
      items: this.fb.array([ this.createItem() ])

    })

createItem(): FormGroup {
    return this.fb.group({
      stateCode: '',
      cityId: ''
    });
  }
  addItem(): void {
    this.items = this.AddUserstep2Form.get('items') as FormArray;
    this.items.push(this.createItem());
  }

الإجابة رقم 1

إذا كنت بحاجة إلى خاصية items في المكون، ببساطة قم باستبدال نوعها الحالي بـ FormArray:

items: FormArray = new FormArray([]);

إذا لم تستخدمه في أي مكان بخلاف طريقة addItem، فيمكنك إزالته تمامًا من المكوّن وتغيير addItem إلى هذا:

addItem(): void {
    const items = this.AddUserstep2Form.get('items') as FormArray;
    items.push(this.createItem());
}