MatSort不工作 . 引发错误:必须使用MatSort指令将MatSortHeader放在父元素中

在matHeaderCellDef上指定 mat-sort-header 属性以在Angular Material中创建可排序表之后,收到以下错误

必须使用MatSort指令将MatSortHeader放在父元素中 .

<mat-table #table matSort [dataSource]="myHttpDataSource">
....
<ng-container matColumnDef="myColumnName">
<mat-header-cell *matHeaderCellDef mat-sort-header></mat-header-cell>
<mat-cell *matCellDef="let row"> {{row.somedetails}} </mat-cell>
</ng-container>
</mat-table>

任何指针/帮助赞赏

回答(4)

3 years ago

将“matSort”属性添加到mat-table

<mat-table #table [dataSource]="dataSource" matSort>
</mat-table>

3 years ago

你能告诉我们更多信息吗?

你有没有尝试过这个活动?

<mat-table #table [dataSource]="dataSource" matSort (matSortChange)="sortData($event)">

3 years ago

<mat-table mat-table [dataSource]="dataSource" matSort>

    <ng-container matColumnDef="name">
      <th mat-header-cell *matHeaderCellDef mat-sort-header> Name </th>
      <td mat-cell *matCellDef="let element"> {{element.name}} </td>
    </ng-container>
To add sorting behavior to the table, add the matSort directive to the 
table and add mat-sort-header to each column header cell that should 
trigger sorting.

3 years ago

意识到我在另一个mat-table中使用旧的mdSort标签导致了这个问题 . 更改为matSort后问题得到解决 .