Angular Material 排序表头

17 Mar 2025 | 4 分钟阅读

<mat-sort-header> 用于添加排序状态并在表格数据中显示数据。

向表格标题添加排序

向一组表格标题添加排序行为和样式,会将 <mat-sort-header> 组件添加到每个标题,并提供一个识别它的 ID。 这些标题可以与父元素一起包含,以及父元素指令,当 matSortChange 事件发出时,这会触发任何用户标题的截断。

用户可以通过单击鼠标或单击键盘操作来触发排序标题。 发生这种情况时,matSort 将发出一个 matSortChange 事件,其中包含排序 ID 和标题的 mat 的 (ID 升序或降序) 方向。

更改排序顺序

默认情况下,排序标题首先按 asc 排序,然后按 desc 排序。

在 matSort 指令上将 matSortStart 设置为 descending 可以反转所有标题的排序顺序。 可以只设置标题的 start 输入,而不是更改特定标题的顺序。

禁用排序

如果我们想要阻止用户更改任何列的顺序,那么我们必须在 mat-sort 或 mat-sort-header 上禁用时使用 matSortDizable 绑定。

可访问性

排序按钮的 aria-label 将在 MatSortHeaderIntl 中设置。

示例 1

app.component.html

app.module.ts

app.component.css

输出

Angular Material Sort Header

将排序与 mat-table 一起使用

不需要设置 mat-sort-header id,因为它将使用 **列的 id**。

app.component.html

app.component.ts

app.component.css

输出

Angular Material Sort Header