Как связать Reactive FormArray на асинхронных данных? - PullRequest
0 голосов
/ 20 марта 2019

У меня есть форма, которая будет связывать formArray с использованием асинхронных данных

ngOnInit() {
    this.bindNewRequestControls();
  }

  bindNewRequestControls() {
    this.alertSuppressionRequestForm = this.formbuilder.group({
      formAppplications: this.formbuilder.array(this.dynamicControls())
    })
  }

  dynamicControls() {
    const _dynamiccontrols = [];
    for (var i = 0; i < this.data.length; i++) {
      _dynamiccontrols.push(this.formbuilder.group({
        selectrow: [''],
        todate: [''],
        fromdate: [''],
        changeRequest: [''],
        justification: ['']
      }))
    }
    return _dynamiccontrols;
  }

теперь, в этом коде выше this.data - это данные, которые будут добавляться асинхронно, как это

applicationDropdownChange(data?: string) {
    this.service.post('url', 'request')
      .subscribe(success => {
      this.data=success;
      });
  }

Теперь, когда я связываю эту переменную с асинхронными данными, я получаю ошибку, подобную этой

enter image description here

но когда я передаю данные статически по событию ngOninit (), все работает нормально, как я могу это преодолеть? спасибо

...