В моем сценарии использования у меня есть выпадающий список (mat-select
), который заполняет несколько полей ввода. Любое изменение заполнит поля по-разному. Поскольку пользователь может изменить поле, я хочу спросить пользователя до того, как будет выполнено последнее изменение, если он согласится очистить (или изменить) все поля. В случае НЕТ изменение выбора не произойдет, и все поля должны остаться.
Я пытался сократить вариант использования до образца . Я могу выбрать предмет из выпадающего списка и выполнить некоторые дальнейшие действия.
<mat-select (selectionChange)="intercept($event.value)">
<mat-option *ngFor="let food of foods" [value]="food.value" >
{{food.viewValue}}
</mat-option>
</mat-select>
Но на момент выдачи selectionchange
содержимое раскрывающегося списка уже изменилось. Для образца я хотел бы иметь, например,
- Выберите, например, Пицца
- Появляется всплывающее окно
- ! Раскрывающийся список остается в исходном выделении, а после исчезновения всплывающего окна происходит изменение!
- Выберите, например, Тако
- Появляется всплывающее окно
- ! Раскрывающийся список остается в исходном выделении (= Tacos), и после исчезновения всплывающего окна происходит изменение!
Понятия не имею, как перехватить событие изменения до того, как произойдет изменение.