我想使用react-table创建一个可排序的列,该列会为每一行分配一个编号(根据其在数据集中的位置)。
根据文档,通过比较accessor
值的排序函数来实现排序。但是,accessor
选项不公开索引,而Cell
选项则公开索引。
所以这意味着这样做是行不通的:
const columns = [
{
Header: '#',
id: 'index',
accessor: (row) => row.index // 'index' is undefined
},
/* ... */
]
我的当前解决方法是直接将索引注入到数据集中,像这样:
myIndexedData = myData.map((el,index) => ({index, ...el})) //immutable
return (
<ReactTable
data={myIndexedData}
columns={columns}
/>
);
这并不是一个最优解,尤其是在处理大型数据集时。我是否有没有看到的更好的方法?