0

我正在使用 mui-datatable 在我的应用程序中实现表。我已经启动并运行了我需要的所有功能,并且我正在使用服务器端数据和分页。

问题是当用户更改当前页面时,我需要保留行的选择。

我可以使用 onRowSelected.. 存储在外部数组中选择的行的 ID。但我不确定当用户更改页面时如何使表格呈现为选中的行。

请记住,我正在使用服务器端数据,所以想法是在第 1 页中,当我选择第 1 行时,获取该记录的 id 并将其添加到所选 id 的数组中。然后我需要检查当前显示在页面中的行的ID是否包含在选定的数组中,如果是,则检查它是否在表中被选中。这样,当我更改页面时,将运行相同的逻辑并清除所有行,因为没有选择新页面中的任何行。我想你明白了。

我不知道我应该在哪里检查行的 id 是否包含在我选择的数组中,如果是,如何在数据表中检查它。

在此先感谢您的帮助。

4

2 回答 2

1

您可以将整个 MUI 数据表包装在另一个组件中,该组件维护所有选定行的状态

于 2020-07-24T17:12:01.047 回答
1

我很愚蠢......我只是需要一些睡眠xD

一旦我意识到我只需要像这样传递 rowsSelected 选项,我的问题就解决了:

rowsSelected: this.state.pictures.filter(p=>this.state.selectedIds.includes(p.id)).map((p,i)=>i)

当用户更改页面时 this.state.picture 将更改,并且 rowsSelected 也会更改。

没关系...这是一个菜鸟的错误。

于 2020-07-25T21:41:09.933 回答