ОШИБКА TypeError: this.homeboxsp.map не является функцией в patchForm - PullRequest
0 голосов
/ 26 сентября 2018

В моем коде есть patchForm:

populateForm() {
    this.hsP.homeboxPGetAll().subscribe(
      homeboxsp => {
        this.homeboxsp = homeboxsp
        let controls = {
          'homeboxpackage_id': new FormControl('', Validators.required)
        };
        for (let i = 0; i < this.homeboxsp.length; i++) {
          controls['active-' + this.homeboxsp[i].homeboxpackage_id] = new FormControl(this.homeboxsp[i].active === 1, Validators.required)
        }
        this.activeHomeboxPForm = new FormGroup(controls);
        this.patchForm();
      }
    )
  }
      patchForm() {
        this.activeHomeboxPForm.patchValue({
          homeboxpackage_id: this.homeboxsp.map(x => x.homeboxpackage_id),
        });
      }

Service.ta

public homeboxPGetAll(): Observable<HomeboxP[]> {
    let headers = new Headers();
    headers.append('x-access-token', this.auth.getCurrentUser().token);
    return this.http.get(Api.getUrl(Api.URLS.homeboxPGetAll), {
      headers: headers
    })
      .map((response: Response) => {
        let res = response.json();
        if (res.StatusCode === 1) {
          this.auth.logout();
        } else if (res.StatusCode === 4) {
          return false;
        } else if (res.StatusDescription === 'No result') {
          return false;
        } else {
          return res.StatusDescription.map(homeboxP => {
            return new HomeboxP(homeboxP);
          });
        }
      });
  }

Когда API получает данные, эта ошибка не отображается.Когда API получает пустые данные в консоли, выведите эту ошибку:

ОШИБКА TypeError: this.homeboxsp.map не является функцией HomeboxComponent.patchForm

Можете ли вы спросить меняИдея, пожалуйста, как решить эту ошибку?

...