Эта задержка может не потребоваться в 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; }  
} 

Ответы на вопрос(3)

Ваш ответ на вопрос