javascript - 如何复制 react-table 的状态以使用 page 和 pageSize 的值

标签 javascript reactjs pagination server-side react-table

我用了https://www.npmjs.com/package/react-table库。必须通过列的过滤器获取表的数据。 过滤器如下:

      ...
      filterable: true,
      Filter: () => {
        return (
          <input
            ...
            onChange={e => this.handleSearchInput(e)}
          />
        );
      }

handleSearchInput方法调用请求到服务器

    let params = {
      filter_fields: this.state.filter, 
      page_size: this.state.pageSize, //here should be state of a table 
      page: this.state.page  // e.g. **state.page** and state - should be arguments
    };
    Actions.getMUsers(params)...

那么应该如何从 ReactTable 组件同步 page 和 pageSize 值以在请求正文中使用它

最佳答案

假设您的初始组件状态有 pageSizepage,您可以使用 ReactTable 的一些内置属性来处理页面大小变化和页面变化:

<ReactTable
    pageSizeOptions={this.state.pageSizeOptions} //Don't need this if you don't want it
    defaultPageSize={this.state.pageSize} // probably smart to have if you're using this as part of a query but not neccessary
    pageSize={this.state.pageSize}
    page={this.state.page}
    onPageChange={page => this.setState({page: page})
    onPageSizeChange={(pageSize, page) => {
      this.setState({ pageSize: pageSize, page: page });
    }}
    ...otherProps
/>

需要记住的一些重要事项是,如果您正在更新 onPageChangeonPageSizeChange 函数,您必须还处理 page 和 pageSize Prop 手动(只需将它们设置为状态值,如上所示)

如上所示,您可以给它一个您想要包含的页面大小选项的列表,并通过使用一个值(如 25)

关于javascript - 如何复制 react-table 的状态以使用 page 和 pageSize 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55359680/

相关文章:

javascript - 为什么 setState 中不带参数的函数调用要在 setState 之前调用?

javascript - 当我调度事件()时,表单元素变为空白

php - 意外的 $end : I Know exactly where the culprit is, 但不知道如何修复

javascript - 在移动设备上关闭浏览器后,音频继续播放

c# - wp7 如何隐藏或删除网页的标题 div

javascript - jQuery XML 选择上的转义点

javascript - Chrome - 停用 IndexedDB 进行测试

javascript - 如何将自定义图标添加到NativeBase

PHP - 带分页的 MySQL 查询

java - Spring Boot使用http请求头进行分页