Как сделать так, чтобы флажок угловой материал реагировал на программное изменение значения в реактиве? - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть реактивная угловая форма, настроенная для добавления строк с помощью кнопки.Я хотел бы добавить возможность выбора всех строк.

С каждой строкой связан флажок, который изменяет значение объекта в зависимости от его состояния (T или F).Если все строки отмечены, то флажок «выбрать все» становится T else F. Проблема заключается в том, что, когда я проверяю флажок «выбрать все», значение всех строк изменяется на любое значение «выбрать все», кроме ихсоответствующие флажки остаются без изменений.Я использую флажок "Угловой материал."*

1 Ответ

0 голосов
/ 26 апреля 2018

Похоже, я решил это с помощью Object.assign.

selectAll(val: any) {
   const newRows = this.form.get('itemRows').value
     .map(row => Object.assign(row, {selected: val}));

   this.form.controls['itemRows'].setValue(newRows);
}

Когда я выбираю флажок «выбрать все», я вызываю эту функцию.Моя первая попытка была просто перезаписать значение, которое не сработало.

row => row.selected = val
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...