首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在react-table中添加可排序索引列

如何在react-table中添加可排序索引列
EN

Stack Overflow用户
提问于 2017-11-28 03:13:08
回答 4查看 6.8K关注 0票数 3

所以我想使用react-table创建一个可排序的列,对每一行进行编号(根据它在数据集中的位置)。

根据文档,排序是通过比较accessor值的排序函数来完成的。但是,与Cell选项不同,accessor选项不公开索引。

所以这意味着这不会起作用:

代码语言:javascript
复制
const columns = [
  {
    Header: '#',
    id: 'index',
    accessor: (row) => row.index // 'index' is undefined
  },
  /* ... */
]

我目前的解决方法是将索引直接注入到数据集中,如下所示:

代码语言:javascript
复制
myIndexedData = myData.map((el,index) => ({index, ...el})) //immutable

return (
  <ReactTable
    data={myIndexedData}
    columns={columns}
  />
);

这并不是一个真正的最佳解决方案,尤其是对于大型数据集。有没有更好的办法让我看不到?

EN

回答 4

Stack Overflow用户

发布于 2018-06-01 08:47:15

代码语言:javascript
复制
{
    Header: "",
    id: "row",
    maxWidth: 50,
    filterable: false,
    Cell: (row) => {
        return <div>{row.index}</div>;
    }
},
票数 6
EN

Stack Overflow用户

发布于 2021-02-08 16:28:09

代码语言:javascript
复制
{
    Header: "Index",
    accessor: "",
    Cell: (row) => {
        return <div>{row.row.id + 1}</div>;
    },
    disableSortBy: true,
    disableFilters: true,
},

版本“react-table”:"^7.6.3",

票数 2
EN

Stack Overflow用户

发布于 2021-05-09 16:15:22

您可以使用第二个参数作为索引。

代码语言:javascript
复制
{
      Header: '#',
      id: 'index',
      accessor: (_row: any, i : number) => i + 1 
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47518201

复制
相关文章

相似问题

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