类型 'FormArray' 不能分配给类型"any[]"。类型"窗体数组"中缺少属性'includes'。在 Angular6 打字稿中



如何解决下面提到的错误:

类型"FormArray"不可分配给类型"any[]"。所有物类型"FormArray"中缺少"includes"。在行"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());
}

如果您需要组件上的items属性,只需将其当前类型替换为FormArray:

items: FormArray = new FormArray([]);

如果除了addItem方法之外,你不在任何地方使用它,那么你可以将它从组件中完全删除,并将addItem更改为:

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

最新更新