Angular 5 реактивная форма - patchValue с FormArray не работает - PullRequest
0 голосов
/ 26 октября 2018

У меня есть эта реактивная форма в платформе Ionic3, которую мне нужно заполнить данными, полученными из API. Для этого я использую patchValue, когда я где-то читал, что он более надежен, чем setValue.

Проблема, с которой я сталкиваюсь, заключается в том, что она не заполняет повторяющиеся поля формы. Чтобы лучше объяснить, я создал пример кода .

Я пробовал другие способы, такие как прямое присвоение данных соответствующему полю вместо того, чтобы сначала использовать цикл for, но он заполнял только 1 набор вместо всех 3.

Может кто-нибудь указать, что я делаю неправильно, или предложить лучшее решение?

Спасибо

1 Ответ

0 голосов
/ 26 октября 2018

В вашем примере установите цикл for на домашнем компоненте так, чтобы он выглядел следующим образом:

for(const rooms of resp.room_data){

      const roomNumberControl = this.createRooms();
      (<FormArray>this.informationForm.controls.room_numbers).push
      (roomNumberControl);
      console.log(JSON.stringify(rooms));
    }

Для создания комнат просто потребуется иметь некоторые данные, но это создаст объект для каждого в массиве.Вот как я это делал в прошлом.

...