Typ 'FormArray' nie je priraditeľný k typu 'any[]'. V type 'FormArray' chýba vlastnosť 'includes'. v Angular6 TypeScript
Ako vyriešiť nižšie uvedenú chybu:
Typ 'FormArray' nie je priraditeľný k typu 'any[]'. Vlastnosť 'includes' chýba v type 'FormArray'. v riadku "this.items=this.AddUserstep2Form.get('items') as FormArray;"
Mám nižšie uvedený ts súbor. Prosím, pomôžte mi.
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());
}
Odpoveď č. 1
Ak potrebujete vlastnosť items na komponente, jednoducho nahraďte jej aktuálny typ FormArray:
items: FormArray = new FormArray([]);
Ak ho nepoužívate nikde inde ako v metóde addItem, môžete ho úplne odstrániť z komponentu a zmeniť addItem na toto:
addItem(): void {
const items = this.AddUserstep2Form.get('items') as FormArray;
items.push(this.createItem());
}
