0

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

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-datatables”:“2.14.0”,“react”:“16.13.1”,“react-dom”:“16.10.2”

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

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

4

1 回答 1

0

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

customBodyRender: value => moment(new Date(value)).format(SPACED_DATE_FORMAT)

沙盒下面有修复它

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

于 2020-06-11T06:32:28.620 回答