Если я вас правильно понимаю, вы должны потребовать, чтобы пользователь подтвердил сортировку перед вызовом функции сортировки данных.
Если это так, у вас есть два варианта:
- Создайте пользовательскую директиву для обработки сортировки «вручную»;
- Сохраните событие сортировки last для возможной операции «отката», если пользователь отменит ее.
Вот пример для 2-го. подход:
@Component({
// ...
})
export class TableSortingExample {
@ViewChild(MatSort, { static: true }) sort: MatSort;
lastSort: Partial<Sort> = {};
sortChangeHandler(evt: Sort): void {
if (confirm('Confirm question?')) {
this.lastSort = {
active: this.sort.active,
direction: this.sort.direction
};
// Perform sort operation
} else {
this.sort.active = this.lastSort.active;
this.sort.direction = this.lastSort.direction;
}
}
}
ПОЛНОЕ ДЕМО