【问题标题】:MUI-DataTables does not sort my formatted dateMUI-DataTables 不对我的格式化日期进行排序
【发布时间】:2020-09-29 10:06:07
【问题描述】:

我有一个作为 API 调用响应的数据集,其中我的日期格式为“2020-06-10”,即 (YYYY-MM-DD),但我需要将其显示为“2020 年 6 月 10 日”,我使用的实用程序如下:

const SPACED_DATE_FORMAT = "DD MMM YYYY";

export const getHyphenatedDate = (dateString) =>
  moment(dateString, "YYYY-MM-DD").format(SPACED_DATE_FORMAT);

但是现在,当我将此数据传递给 MUI Datatable 实现并且排序无法按预期工作(在 asc 和 desc 中都没有)时,它只是随机打乱。

请建议我如何才能同时实现显示预期格式和正确排序。

使用的库版本:

“时刻”:“2.24.0”, “mui 数据表”:“2.14.0”, “反应”:“16.13.1”, “反应域”:“16.10.2”

注意:如果我不格式化日期,排序工作正常。

具有重复问题的沙盒:https://codesandbox.io/s/objective-golick-8qvzf

【问题讨论】:

    标签: reactjs sorting date ecmascript-6 mui-datatable


    【解决方案1】:

    我通过使用toDate()getTime()moment 转换gridData 日期值并在列定义中的日期对象上使用customBodyRender 来解决这个问题

    customBodyRender: 值 => 时刻(新日期(值)).格式(SPACED_DATE_FORMAT)

    Below Sandbox 有修复方法

    https://codesandbox.io/s/hopeful-butterfly-isdjb?file=/src/App.js:2402-2497

    【讨论】:

      猜你喜欢
      • 2021-05-08
      • 2018-01-19
      • 1970-01-01
      • 2018-03-30
      • 2011-11-19
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      相关资源
      最近更新 更多