类型'FormArray'不能分配给类型'any []'。类型“ FormArray”中缺少属性“包含”。在angular6打字稿中

时间:2018-07-28 06:21:55

标签: typescript 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());
  }

1 个答案:

答案 0 :(得分:1)

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

items: FormArray = new FormArray([]);

如果您不使用addItem方法之外的任何方法,则可以将其从组件中完全删除,并将addItem更改为:

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