我目前正在与"mui-datatables": "^4.2.2"react js项目.

我有一个分页的数据列表,可以通过复选框 Select 一个项目:

enter image description here

我的问题是:

当我在第二页中 Select 一项时,组件会重新呈现并自动返回到第一页.

我认为问题出在onRowSelectionChange内部的设置状态:

  const options = {
    filter: false,
    onRowClick: (rowData, rowMeta) => {
      console.log("--rowData --");
      console.log(rowData);
      console.log("--rowMeta --");
      console.log(rowMeta);
    },
    onRowSelectionChange: (
      currentRowsSelected,
      allRowsSelected,
      rowsSelected
    ) => {
      let items = [];
      allRowsSelected.forEach((row) => {
        items.push(data[row.dataIndex]);
      });
      setSelectedRows(items);
    },

我如何解决这个问题?

推荐答案

例如,您也应该将页码存储在州中 curPage:1个 当页面更改时,您也应该更新curPage,现在您可以在传递给mui-datatable的选项props 中使用它.

const options = {
page:this.state.curPage,//incase its class component
onChangePage:(page)=>{
 this.setState({curPage:page});//assuming its a class component
},
filter: false,
onRowClick: (rowData, rowMeta) => {
  console.log("--rowData --");
  console.log(rowData);
  console.log("--rowMeta --");
  console.log(rowMeta);
},
onRowSelectionChange: (
  currentRowsSelected,
  allRowsSelected,
  rowsSelected
) => {
  let items = [];
  allRowsSelected.forEach((row) => {
    items.push(data[row.dataIndex]);
  });
  setSelectedRows(items);
},

希望这能有所帮助

Javascript相关问答推荐

即使设置了父级的最大高度,固定位置的分区内容也不会滚动?

如何expose 像React在onChange、onClick等中所做的那样的参数?

在JavaScript中,如何将请求的回调函数的结果合并到运行的代码中?

在具有焦点和上下文的d3多线图表中,如何将上下文的刷新限制在特定日期?

使用useup时,React-Redux无法找到Redux上下文值

在React中获取数据后,如何避免不必要的组件闪现1秒?

从mat—country—select获取整个Country数组

Google图表时间轴—更改hAxis文本 colored颜色

阿波罗返回的数据错误,但在网络判断器中是正确的

XSLT处理器未运行

如何迭代叔父元素的子HTML元素

同一类的所有div';S的模式窗口

MongoDB受困于太多的数据

图表4-堆叠线和条形图之间的填充区域

将多个文本框中的输出合并到一个文本框中

Django导入问题,无法导入我的应用程序,但我已在设置中安装了它

Jexl to LowerCase()和Replace()

在JavaScript中,有没有一种方法可以迭代字符串的词法标记?

P5.js中矩形内的圆弧

如何将字符串拆分成单词并跟踪每个单词的索引(在原始字符串中)?