React表排序有3个条件:default view
、ascending
和descending
,如其官方示例https://codesandbox.io/s/github/tannerlinsley/react-table/tree/master/examples/sorting所示
现在,我只想在ascending
和descending
之间进行排序,并删除默认视图。
useTable(
{
columns,
data,
initialState: {
pageIndex: 0,
pageSize: 10,
sortBy: [
{
id: "asset",
desc: false,
},
],
},
},
)
但是当我点击列时默认视图仍然存在,我不知道如何删除它。我在他们的文档中也找不到它。
3条答案
按热度按时间cvxl0en21#
useSortBy文档提到了一个disableSortRemove选项,可以在调用useTable时指定该选项。
如果为true,则列排序后将无法使用未排序状态。
gfttwv5a2#
对于以后会遇到这个React表排序问题的人,这里有一个更具体的问题。如果你单独使用
disableSortRemove: true
,你仍然会有第一次点击是一个"未排序"的状态,然后随后的点击是升序或降序排序。这可能不是你想要的UI,因为一个按钮点击,无论是第一次还是第二次,都应该做一些事情,但是对于这个变量,第一次点击它不会。这样您就不必单击排序按钮两次来查看排序,请执行以下操作!
这里我们添加了3个东西,而不仅仅是
disableSortRemove: true
。我们添加了:disableSortRemove: true
、defaultCanSort: true
和initialState: { sortBy: [{ id: tableData[0]?.totalSeries?.totalSeries, desc: true }]
//重要信息:在此处使用您自己的数据形状},我不认为你需要第二个(
defaultCanSort: true
),但第一个和第三个给你你想要的效果:在页面加载时,排序是打开的,一旦单击排序按钮,它就会以相反的方式排序。好了。搞定了。
o0lyfsai3#
enableSortingRemoval:false
,启用/禁用删除表排序的功能。如果为真,则更改排序顺序将循环如下:"无"-〉"说明"-〉"上升"-〉"无"-〉...
如果为false,则更改排序顺序将循环如下:"无"-〉"说明"-〉"上升"-〉"说明"-〉"上升"-〉...
请在此处-https://tanstack.com/table/v8/docs/api/features/sorting找到此属性"enableSortingRemoval"