Angular Material Table:自定义排序文件夹和文件项

and*_*erz 2 angular-material angular mat-table

我的mat-table文件和文件夹中有不同类型的项目。
它们必须像在 Microsoft 的文件浏览器中一样进行排序。文件夹不能与文件夹分开,文件也不能分开。
所有其他排序规则保持不变。

有谁知道如何解决这个问题?先感谢您!

Tot*_*ewb 6

您必须覆盖附加到表格的 MatTableDataSource 上的 sortData。这是负责对记录进行排序的函数,例如

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

可以查看github上材质代码中的默认实现:https : //github.com/angular/components/blob/c2a20c4a035ef57bf598fd78bc7284c180b34c78/src/material/table/table-data-source.ts#L168