angular-material-7 - 为什么 mat-sort 在我的 mat-table 上不起作用
问题描述
我在一页上使用多个垫表。我需要一张桌子的垫子排序。
当我调试代码响应时得到结果但 matSort 不起作用
<table #transactions class="transactions-table" mat-table [dataSource]="trassactionDataSource" matSort>
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Transaction ID </th>
<td mat-cell *matCellDef="let row"> {{row.transaction_id}} </td>
</ng-container>
<ng-container matColumnDef="product_name">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Product </th>
<td mat-cell *matCellDef="let row"> {{row.listing_title}} </td>
</ng-container>
.....
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"> </tr>
</table>
'
displayedColumns: string[] = ['id', 'product_name', ...];
@ViewChild(MatSort)private sort: MatSort;
ngOnInit() {
this.userService.getDashboardData().subscribe((response) => {
if (response.code == 401) {
this.authService.logout(true);
} else {
this.trassactionDataSource = new MatTableDataSource(response.result.transactions);
var that = this;
setTimeout(function () {
that.trassactionDataSource.sort = that.sort;
}, 500);
}
}[enter image description here][1]
我没有收到任何控制台错误。
解决方案
感谢您阅读本文。我想通了。matColumnDef = response result
前任:
<ng-container matColumnDef="id">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Transaction ID </th>
<td mat-cell *matCellDef="let row"> {{row.transaction_id}} </td>
</ng-container>
更改为
<ng-container matColumnDef="transaction_id">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Transaction ID </th>
<td mat-cell *matCellDef="let row"> {{row.transaction_id}} </td>
</ng-container>
推荐阅读
- c# - mvvm 解决嵌套模型和视图模型
- mongodb - 嵌入式文档中的 MongoDB 嵌套查找
- php - 如何恢复 Plesk Cpanel 文件
- javascript - Chart.js中x轴上的自定义标签/固定范围用于水平条形图?
- javascript - 根据 Gatsby 中的 url 更改字体颜色
- visual-studio-code - 如何在 VS Code 中更改终端的语言
- spring - 无法将 thymeleaf springsecurity 或布局方言添加到我的应用程序
- c# - 使用 Gremlin.net 读取/保存文件
- c# - 仅更新给定值(实体框架)
- node.js - 如何修复无法获取快递中的错误?