【问题标题】:React table - force reset page index in manual paginationReact table - 在手动分页中强制重置页面索引
【发布时间】:2020-11-25 21:48:48
【问题描述】:

我在手动重置页面索引时遇到问题

我从 onPageChangeonPageSizeChange ... 等手动处理数据更改

当我使用 onPageChange 更改页面索引时,我存储在高级组件中并再次将 ReactTable 作为称为 currentPage 的道具传递,在相同的情况下,我需要将 currentPage 重置为 0 ,但剂量有效,所以我添加了 componentDidUpdate 回调强制重置页面索引

ReactTable 版本 6.11.5

componentDidUpdate(prevProps, prevState) {
    const reactTable = this.myRef.current;
    const { currentPage } = this.props;
    if (reactTable && currentPage !== reactTable.state.page) {
      reactTable.state.page = currentPage;
      reactTable.getResolvedState().page = currentPage;
    }
  }

render() {
    const {
      data,
      loading,
      totalNumberOfPages,
      currentPage,
      onPageChange,
      pageSize,
      onPageSizeChange,
      onFilteredChange,
      onSortedChange,
      filtered,
    } = this.props;
 return (<ReactTable
            ref={this.myRef}
            filtered={filtered}
            onFilteredChange={(filtered) => {
              onFilteredChange(filtered);
              this.setState({ filtered });
            }}
            manual
            sorted={tableSorted}
            onSortedChange={(sorted) => onSortedChange(sorted)}
            filterable
            loading={loading && !silentUpdate}
            pages={totalNumberOfPages}
            page={currentPage}
            onPageChange={onPageChange}
            defaultPageSize={pageSize}
            pageSize={pageSize}
            onPageSizeChange={onPageSizeChange}
            loadingText="Loading..."
            data={data}
            columns={columns}
            className="-striped -highlight"
        />)

代码沙盒

https://codesandbox.io/s/set-initial-page-number-in-react-table-jthci?file=/App.js

如果您在第 3 页并按“重置页面”,它应该在第一页

【问题讨论】:

  • 它不断向我显示 1 页中的所有 30 个条目,就像分页根本不起作用
  • 是的,在手动模式下,您应该手动处理所有内容,在实际情况下,我只加载 10 列,然后当您移动到第二页时,我加载其他 10 列(如果 10 是页面大小)

标签: reactjs react-table-v6


【解决方案1】:

我创建了一个小代码沙盒问题来向您展示它正在运行。 检查此链接

https://codesandbox.io/s/set-initial-page-number-in-react-table-mumef

所以,通过阅读react-table的源码,我看到用于分页的组件叫做ReactTablePagination

这个组件有下面一行

{showPageJump ? renderPageJump(this.getPageJumpProperties()) : renderCurrentPage(page)}{' '}

这意味着为了更新页面索引,这个属性showPageJump应该设置为false

我尝试不设置所有此属性,但它不起作用。当我将其设置为 false 时,它​​起作用了。

【讨论】:

猜你喜欢
  • 2018-11-21
  • 1970-01-01
  • 2015-01-27
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2020-06-15
  • 2010-10-06
  • 2018-12-10
相关资源
最近更新 更多