Эта задержка может не потребоваться в Angular 6+ из-за изменения, где FormControl обновляется до ngModelChangeCall.
я есть этот простой выбор HTML для реализации раскрывающегося списка в Angular2 (TS), как показано ниже
<select id="pageSize" (change)="onPageSizeChanged($event, pagination.pageSize)">
<option value="10">10</option>
<option value="20">20</option>
<option value="50">50</option>
</select>
Ранее выбранное значение сохраняется вpagination.pageSize
переменная. И при изменении этого я хотел открыть диалоговое окно и ждать ответа пользователя. Если пользователь нажимает кнопку отмены, я хочу вернуть выбор к ранее выбранным параметрам.
onPageSizeChanged(event, oldValue) {
const response = window.confirm("Are you sure you want change the page size? Your edits will be lost?");
if (response) {
//... some code ...
} else {
//... here I want to revert the selection to previously selected option
}
}
Перепробовал много разных вещей, но не повезло.
Пожалуйста, помогите, я схожу с ума по этой простой вещи. Я должен делать что-то глупое.
Пытается № 1 - не работает (Plunk -https://embed.plnkr.co/ILi12O/)
<select id="pageSize" [ngModel]="pageSize" (ngModelChange)="onPageSizeChanged($event, pagination.pageSize)">
<option value="10">10</option>
<option value="20">20</option>
<option value="50">50</option>
</select>
onPageSizeChanged(event, oldValue) {
const response = window.confirm("Are you sure you want change the page size? Your edits will be lost?");
if (response) { //go ahead so something }
else { this.pageSize = oldValue; }
}