如何在 Angular 4 材料排序中对日期/时间列进行排序?

2024-01-06

我正在使用角度材料表并使用 matSort 进行排序。但它没有对日期/时间列进行排序。它将日期时间列值作为字符串。

如何对 Angular 4 材料中的日期/时间列进行排序?

我的 json 看起来像这样

 {
        "name": "Rule Test 5",
        "time": "2017-11-17T08:34:32",
        "version": 1,
        "status": "SAVED"
    }, {
        "name": "Availability Adjustment",
        "time": "2017-11-17T10:13:27",
        "version": 1,
        "status": "SAVED"
    }, {
        "name": "Class suppression",
        "time": "2017-11-17T11:18:44",
        "version": 1,
        "status": "SAVED"
    }

我的桌子看起来像这样

-------------------------------
name | version | status | date |
-------------------------------
...
..
..
--------------------------------

这是解决方案:

this.dataSource.sortingDataAccessor = (item, property): string | number => {
  switch (property) {
    case 'fromDate': return new Date(item.fromDate).toNumber();
    default: return item[property];
  }
};

MatTableDataSource 有 sortingDataAccessor,我们可以根据需要进行自定义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Angular 4 材料排序中对日期/时间列进行排序? 的相关文章

随机推荐