错误:formGroup需要一个FormGroup实例

时间:2017-11-03 09:04:29

标签: angular

我在从http服务获取结果后尝试创建FormGroup

ngOnInit() {
    this.route.params
      .mergeMap((params: Params) => {
        this.id = +params['id'];
        return this.dataStorageDervice.getRezerwacja(this.id);
      }).subscribe(rezerwacja => {
      this.rezerwacja = rezerwacja;
      this.initForm();
    });
  }
  private initForm() {
    let rezerwacjaName = '';
    rezerwacjaName = this.rezerwacja[0][2];
    this.rezerwacjaForm = new FormGroup({
      'nazwisko': new FormControl('pawel', Validators.required)
    });
  }

但是我的html渲染速度更快,并且它没有收到FormGroup对象,这是在联系http服务后创建的。 它抛出一个错误:formGroup需要一个FormGroup实例。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

只需在构造函数中创建FormGroup实例,然后在数据可用时更新或替换它。

这应该

constructor() {
  this.initForm();
}

ngOnInit() {
    this.route.params
      .mergeMap((params: Params) => {
        this.id = +params['id'];
        return this.dataStorageDervice.getRezerwacja(this.id);
      }).subscribe(rezerwacja => {
        this.rezerwacja = rezerwacja;
        this.initForm();
      });
  }

  private initForm() {
    let rezerwacjaName = '';
    if(this.rezerwacja) {
      rezerwacjaName = this.rezerwacja[0][2];
    }
    this.rezerwacjaForm = new FormGroup({
      'nazwisko': new FormControl('pawel', Validators.required)
    });
  }