Сортировка мат-таблицы с пользовательской или стандартной сортировкой - PullRequest
0 голосов
/ 01 апреля 2020

как я могу создать mat-таблицу, которая будет сортировать столбцы (то есть массивы данных) строк с нулевыми / пустыми значениями вместе со сравнением локализации и игнорированием строчных букв. Я попытался добавить пользовательскую сортировку с событием (matSortChange) в html, это обработчик события. Сейчас кажется, что это не работает для игнорирования корпуса или локали.

sortedData: Type[];
public sortData() {
const data = this.currentDataSource.data;
if (!sort.active || sort.direction === '') {
  this.sortedData = data;
  return data;
}

this.sortedData = data.sort((a, b) => {
  const isAsc = sort.direction === 'asc';
  switch (sort.active) {
    case 'name': return this.sortingFunction(a.name, b.name, isAsc);
    default: return 0;
case 'date' : return this.sortDates(a.date, b.date, isAsc)
  }
});

}

private sortingFunction(a: string, b: string, isAsc: boolean) {
    return a.toLowerCase().localeCompare(b.toLowerCase()) * (isAsc ? 1 : -1);
  }

private sortDates(a: Date, b: Date, isAsc: boolean) {
return (new Date(a) < new Date(b) ? -1 : 1) * (isAsc ? 1 : -1);

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...