React Data Table 组件和矩

React Data Table Component and Moment

我正在使用 React Data Table 组件来显示 table 数据 - 效果很好!

我有一个 lastLogin 时间的行字段,它作为模型存储在 MongoDB 中,如下所示:

lastLogin: [{
 type: Date,
 required: false,
}],

我的数据 table 组件如下所示:

    <DataTable
      noHeader
      pagination
      paginationPerPage={15}
      paginationRowsPerPageOptions={paginationRowsPerPageOptions}
      responsive
      columns={columns}
      sortIcon={<ChevronDown />}
      className="react-dataTable"
      data={store.data}
    />

当我尝试渲染没有时刻的日期时使用列,它工作正常:

  {
    name: 'Last Login',
    selector: (row) => row.lastLogin,
  },

将导致:

但是用moment格式化的时候好像是在获取以前的记录结果

  {
    name: 'Last Login',
    selector: (row) => row.lastLogin,
    format: (row) => moment(row.lastLogin).format('lll'),
  },

将导致:

这段代码是正确的,结果是预期的,这取决于当下的工作方式。

moment 将当前时间作为默认时间进行处理,因此,如果您传递一个日期值,那么您将处理并格式化该值,否则将处理并格式化当前日期。

例如:

var now = moment(undefined).format('lll');
console.log(now)

这将等于:

var now2 = moment().format('lll');
console.log(now2)

Demo Link

好的...这个问题已经解决...愚蠢的语法错误。

模型上的登录日期设置为数组:

lastLogin: [{
 type: Date,
 required: false,
}],

应该是:

lastLogin: {
 type: Date,
 required: false,
},