首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按列号对“反应性-数据表-组件”进行排序

如何按列号对“反应性-数据表-组件”进行排序
EN

Stack Overflow用户
提问于 2021-04-07 05:54:59
回答 1查看 3.9K关注 0票数 3

我正在使用'react-data-table-component‘来反应JS。

以下是我的样本结构:

import DataTable from "react-data-table-component";

代码语言:javascript
复制
const data = myData;
const columns = [
   {
      name: 'Date',
      selector: 'dateOfAction',
      cell: row => <div>{moment(row.dateOfAction).format("MM-DD-YYYY A")}</div>,
      sortable: true,
   },
   {
      name: 'History Date',
      selector: 'dateOfAction',   
      cell: row => <div>{moment(row.dateOfAction).format("YYYY-MM-DD HH:mm:ss")}</div>,
      sortable: true,
   } 
];

<DataTable
   columns={columns}
   data={data}
   defaultSortField="dateOfAction"
   pagination
   striped
   defaultSortAsc={false}
 />

在这里,两列都有相同的选择器

而且,我能够按照第一列(即'Date' )对数据进行排序,但我想按最后一列(即'History Date' )对表数据进行排序。

如何按上一栏对数据进行排序?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-02-17 14:17:43

您可以在defaultSortFieldId组件中传递DataTable道具。根据文件:

defaultSortFieldId设置要预先排序的列,并对应于列定义id

这意味着您需要为每个列提供一个唯一的id,然后将要使用的id传递给defaultSortFieldId:

代码语言:javascript
复制
const columns = [
       {
          id: 'date',
          name: 'Date',
          selector: 'dateOfAction',
          cell: row => <div>{moment(row.dateOfAction).format("MM-DD-YYYY A")}</div>,
          sortable: true,
       },
       {
          id: 'historyDate',
          name: 'History Date',
          selector: 'dateOfAction',   
          cell: row => <div>{moment(row.dateOfAction).format("YYYY-MM-DD HH:mm:ss")}</div>,
          sortable: true,
       } 
    ];

<DataTable
   columns={columns}
   data={data}
   defaultSortFieldId="historyDate"
   pagination
   striped
   defaultSortAsc={false}
 />
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66980280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档