Прежде всего, у меня есть эта страница, на которой есть динамические 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 может захватывать только тот, который запускается при новом событии, существующие отмеченные флажки не передаются, какое-либо решение о том, как справиться с таким сложным случаем?