Элемент управления угловой формы не обновляется до следующего нажатия - PullRequest
0 голосов
/ 17 июня 2019

Пример приложения на https://stackblitz.com/edit/angular-cnvphg

Я пытаюсь обновить флажки FormArray на основе других проверок.По сути, если первый элемент отмечен, все остальные элементы должны быть отключены.Если они проверяют любой другой элемент, первый элемент должен быть отключен.

Если вы посмотрите на приведенный выше пример, когда я проверяю первый элемент, ничего не происходит.Только после того, как я уберу галочку с другого элемента, остальные флажки исчезнут.Почему это происходит?Я обернул обновление управления в блок setTimeout, что, как я думал, было здесь принятой практикой.

1 Ответ

0 голосов
/ 19 июня 2019

проблема не имеет ничего общего с formcontrols, вы используете их просто отлично. это вызывает от pairwise() оператора. он не выделяет значение, пока не получит два значения. поэтому с первого клика ничего не происходит. поэтому вы должны предоставить начальные значения оператору pairwise(). попробуйте это;

this.formArray.valueChanges.pipe(
   startWith([false, true, true, true]),
   pairwise()
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...