我有一个具有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'">