Oba*_*e13 7 reactjs react-table react-table-v7
我试图保留react-table v7 的选定复选框的状态。我有一个复选框可以一次选择多行并且效果很好,问题是一旦打开批量操作对话框,表就无法维持该状态。即使选定的行数据仍然可用,对话框打开后复选框就会立即变为取消选中状态。我只需要复选框来保持状态。数据从 graphql api 获取,轮询设置为 0
使用的大部分代码与文档相同
const TableContainer = ({ columns, data }) => {
const {
getTableProps,
getTableBodyProps,
headerGroups,
page,
prepareRow,
canPreviousPage,
canNextPage,
pageOptions,
pageCount,
gotoPage,
nextPage,
previousPage,
setPageSize,
setGlobalFilter,
selectedFlatRows,
state: { pageIndex, pageSize, globalFilter },
} = useTable(
{
columns,
data,
defaultColumn: { Filter: DefaultColumnFilter },
initialState: { pageIndex: 0, pageSize: 10 },
},
useFilters,
// useExpanded,
useGlobalFilter,
useSortBy,
usePagination,
useRowSelect,
(hooks) => {
hooks.visibleColumns.push((columns) => [
{
id: "selection",
Header: ({ getToggleAllRowsSelectedProps }) => (
<Checkbox {...getToggleAllRowsSelectedProps()} />
),
Cell: ({ row }) => {
return <Checkbox {...row.getToggleRowSelectedProps()} />;
},
},
...columns,
]);
}
); // return
Run Code Online (Sandbox Code Playgroud)
反应钩子中的任何输入都能够保持数据输入良好而不会出现问题。唯一的改变是摆在桌面上的。任何帮助表示赞赏
小智 4
我遇到了同样的问题,我通过将单元格、行和列的自动重置设置为 false 来修复它。您可以在此处阅读有关此修复的信息。
const TableContainer = ({ columns, data }) => {
const {
getTableProps,
getTableBodyProps,
headerGroups,
page,
prepareRow,
canPreviousPage,
canNextPage,
pageOptions,
pageCount,
gotoPage,
nextPage,
previousPage,
setPageSize,
setGlobalFilter,
selectedFlatRows,
state: { pageIndex, pageSize, globalFilter },
} = useTable(
{
columns,
data,
defaultColumn: { Filter: DefaultColumnFilter },
initialState: { pageIndex: 0, pageSize: 10 },
//Add this
autoResetSelectedRows: false,
autoResetSelectedCell: false,
autoResetSelectedColumn: false,
},
useFilters,
// useExpanded,
useGlobalFilter,
useSortBy,
usePagination,
useRowSelect,
(hooks) => {
hooks.visibleColumns.push((columns) => [
{
id: "selection",
Header: ({ getToggleAllRowsSelectedProps }) => (
<Checkbox {...getToggleAllRowsSelectedProps()} />
),
Cell: ({ row }) => {
return <Checkbox {...row.getToggleRowSelectedProps()} />;
},
},
...columns,
]);
}
); // return
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6741 次 |
| 最近记录: |