Angular 设置材质排序条件-角度项目

Angular 设置材质排序条件-角度项目,angular,angular-material,angular9,Angular,Angular Material,Angular9,我在一个Angular 9项目中工作,使用材料 我有一个支持排序(Mat排序)的物料表。这类设备运行良好。我现在只想允许某些列根据条件进行排序。是否有办法将mat sort header属性设置为条件 这是我的表和列: <table mat-table [dataSource]="dataSource" matSort (matSortChange)="setSortInRoute()"> <ng-container *ngFor="let column of tabl

我在一个Angular 9项目中工作,使用材料

我有一个支持排序(Mat排序)的物料表。这类设备运行良好。我现在只想允许某些列根据条件进行排序。是否有办法将
mat sort header
属性设置为条件

这是我的表和列:

<table mat-table [dataSource]="dataSource" matSort (matSortChange)="setSortInRoute()">
    <ng-container *ngFor="let column of tableConfig.columns">
      <ng-container matColumnDef="{{ column.columnDef }}">
        <th mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.title }}</th>
        <td mat-cell *matCellDef="let row">
          {{ row[column.dataProperty[0]] }}
        </td>
      </ng-container>
    </ng-container>

    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
    <tr
      mat-row
      *matRowDef="let row; columns: displayedColumns"
      (click)="goToDetails(row)"
    ></tr>
  </table>

{{column.title}}
{{row[column.dataProperty[0]]}
我尝试将
mat sort header
属性设置为如下条件:
[mat sort header]=“sortColumn”
其中
sortColumn
是一个布尔变量。但是,即使变量为false,列仍然具有排序功能

我计划将条件设置为一个来自
tableConfig.columns
的布尔变量,它可能是
tableConfig.columns.allowSort

有没有办法将此属性设置为条件?若否,有何建议?


谢谢

默认情况下,单击列标题时,mat表格将更改用于排序的参考列。如果您想避免这种情况,可以使用
mat header cell
指令将
disabled
属性添加到
th

。。。
...
{{column.title}}
...
...

试一下这个问题,@Mamta作为参考!这正是我想要的。没有意识到他们的房子已经被禁用了!