Angular Material Table: пользовательская папка сортировки и элементы файла

У меня есть разные типы элементов в моем mat-table: Файлы и папки.
Они должны быть отсортированы, как в файловом менеджере Microsoft. Папки не могут быть отделены от папок, а также от файлов.
Все остальные правила сортировки остаются прежними.

Кто-нибудь знает, как это решить? Заранее спасибо!


person andreas.herz    schedule 28.04.2020    source источник
comment
В .net есть целая библиотека для файлов и папок, но в NPM она тоже есть.   -  person JWP    schedule 28.04.2020


Ответы (1)


Вам придется перезаписать sortData в вашем MatTableDataSource, прикрепленном к таблице. Это функция, которая отвечает за сортировку записей, например.

this.dataSource.sortData = (data: YourObjectType[], sort: MatSort) => {
 return data.sort((a: YourObjectType, b: YourObjectType => {
   //Sorting logic here
 });
}

Вы можете посмотреть реализацию по умолчанию в коде материала на github: https://github.com/angular/components/blob/master/src/material/table/table-data-source.ts#L142

person TotallyNewb    schedule 28.04.2020