Обработка нескольких флажков в форме Angular с ответом JSON - PullRequest
0 голосов
/ 26 мая 2020

Прежде всего, у меня есть эта страница, на которой есть динамические c списки флажков, созданные на основе JSON получаемых из API. Имя и выбранное логическое значение - все из API.

Итак, основная проблема для меня сейчас заключается в том, как получить все значения флажков из формы, потому что они могут получить только значение, которое было инициировано из события изменения, те чекбоксы, отмеченные на основании данных JSON, не передаются в данные формы.

Допустим, начальное значение для флажков следующее:

 - item A - selected
 - item B - selected
 - item C - not selected

После проверки элемента C я отправляю форму, используя такой метод

 **** on HTML
 <mat-checkbox (change)="onChangeCheckbox($event)">

**** on component
 onChangeCheckbox(event) {
    const accessId = <FormArray>this.groupForm.get('accessId') as FormArray;

    if (event.checked) {
      accessId.push(new FormControl(event.source.value))
    } else {
      const i = accessId.controls.findIndex(x => x.value === event.source.value);
      accessId.removeAt(i);
    }
  }

Массив accessId может захватывать только тот, который запускается при новом событии, существующие отмеченные флажки не передаются, какое-либо решение о том, как справиться с таким сложным случаем?

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