首页 > 解决方案 > 分拣后角料表加载数据

问题描述

我正在使用角度材料表来显示数据。目前,我想加载从状态排序的角度材料表。我有 3 个状态 - 完成、待处理和失败。我希望失败记录最后显示,完整和待处理的记录应该首先显示。

我使用下面的排序功能来做到这一点,但它不起作用。

  this.dataSource = new MatTableDataSource(results['InvoiceHeaders']);
  this.dataSource.sortingDataAccessor = (item, property) => {
    switch (property) {
      case 'status': return item.element.status;
      default: return item[property];

      //     default: return item[property];
    }
  };
  this.dataSource.sort = this.viewsort;

你能帮我做这些类型的样品吗?

谢谢

标签: javascriptangularangular-material

解决方案


一种解决方案可能是创建一个字段“statusWeight”并将可排序的数值分配给“状态”列,然后在该任意列上使用默认材料排序。

  • 完成以具有值 1
  • 待定值为 2
  • 没有价值 3

相关的 HTML

<table mat-table [dataSource]="dataSource" matSort matSortActive="statusWeight" matSortDirection='asc' class="mat-elevation-z8">
....
</table>

可在此处使用 stackblitz


推荐阅读