gpt4 book ai didi

reactjs - 删除所有选定的行,即使我在其他页面中使用带有受控分页的 react 表

转载 作者:行者123 更新时间:2023-12-05 06:08:38 29 4
gpt4 key购买 nike

使用 react-table v7,我很难尝试删除所有选定的行,即使我在其他页面中使用 hook-plugin 中的 toggleAllRowsSelected useRowSelect

我在服务器端使用受控分页,正如文档所述,我设置了 autoResetSelectedRows: false 以在状态中存储 Prop selectedRowIds。因此,当我更改页面时,数据会发生变化,但我可以保持 selectedRowIds 不变。当我选中或取消选中一行时它工作正常,但我不知道如何取消选中所有行,而不仅仅是当前页面中的行,这正是 toggleAllRowsSelected 正在做的。

我做错了什么或者是 toggleAllRowsSelected 回调中的错误?有没有办法操纵 react 表的状态以手动更改 selectedRowIds Prop ?

我用这种方式解决了它......但我认为它可能会导致性能问题......:

  const handleUnselectAll = () => {
state.selectedRowIds = {};
toggleAllRowsSelected(false);
};

文档:

useRowSelect:https://react-table.tanstack.com/docs/api/useRowSelect#userowselect

来自服务器端的数据:https://react-table.tanstack.com/docs/faq#how-do-i-stop-my-table-state-from-automatically-resetting-when-my-data-changes

最佳答案

我使用 stateReducer 选项解决了这个问题。

  stateReducer: (newState, action) => {
switch (action.type) {
case 'toggleAllRowsSelected':
return {
...newState,
selectedRowIds: {},
};

default:
return newState;
}
}

引用:https://react-table-v7.tanstack.com/docs/api/useTable#usetable

关于reactjs - 删除所有选定的行,即使我在其他页面中使用带有受控分页的 react 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65096897/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com