角度<mat-table>:禁用特定列的排序标题



我有一个具有matSort属性的mat-table。据我所知,这将为所有列启用排序标头。是否有可能禁用单列的排序标头?

使用<table mat-table>...</table>,我可以为每列指定一个mat-sort-header,但不能使用<mat-table>...</mat-table>

您可以使用[disable]属性:

<th
mat-header-cell
*matHeaderCellDef
[mat-sort-header]="column.name"
[disabled]="column.name === 'actions'" // Here
[style.width]="column.width"
>
{{ column.label }}
</th>

您可以从th中删除mat-sort-header以防止其对进行排序

<table matSort (matSortChange)="sortData($event)">
<tr>
<th mat-sort-header="name">row-1</th> // sortable
<th>row-2</th> 
<th>row-3</th>
</tr>
<tr *ngFor="let row of sortedTable">
<td>{{ row.name }}</td>
<td>{{ row.email }}</td>
<td>{{ row.address }}</td>
</tr>
</table>

在mat-sort头上添加[disabled]属性并为其指定列名对我来说很有效。

<th mat-header-cell *matHeaderCellDef mat-sort-header [disabled]="column === 'Select'">

最新更新