Проблема в том, что сортировка даты сортируется по типу string
вместо типа date
.
. У меня работает изменение ngAfterViewInit
для этого:
ngAfterViewInit() {
this.dataSource.sort = this.sort;
this.dataSource.sortingDataAccessor = (item, property) => {
switch (property) {
case 'date': {
let newDate = new Date(item.date);
return newDate;
}
default: {
return item[property];
}
}
};
}
То, что мы делаем здесь, это когда сортировка выполняется, в случае даты мы конвертируем item.date
из строки в дату. Затем сортировка выполняет дату свойства как тип date
.
Здесь я добавляю скриншот https://stackblitz.com/edit/angular-matsordesc?file=src%2Fapp%2Fapp.component.ts, где работает:
