FormArray:无法读取打字稿中未定义的属性“ push”

时间:2018-08-01 07:45:12

标签: typescript angular6

错误TypeError:无法读取未定义的属性“ push”

addAddress() {
    const control = <FormArray>this.AddUserstep2Form.controls['addresses'];  

    const addrCtrl = this.initAddress();

    control.push(addrCtrl);

  }
initAddress() {
    return this.fb.group({
      stateCode: [''],
      cityId: ['']
    }); 
  }

1 个答案:

答案 0 :(得分:2)

这是当control为null时发生的,您需要使用空数组进行初始化

const control = <FormArray>this.AddUserstep2Form.controls['addresses'];  
const addrCtrl = this.initAddress();
if(control && control.length > 0){
 control.push(addrCtrl);
}else
{
 control = [];
 control.push(addrCtrl);
}