首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据资料-UI: TablePagination的页面支柱超出了范围

数据资料-UI: TablePagination的页面支柱超出了范围
EN

Stack Overflow用户
提问于 2019-06-14 08:32:22
回答 4查看 5.9K关注 0票数 2

我创建了一个最小的示例沙盒来显示问题/bug

复制步骤:

  • 转到此链接
  • 转到第2页
  • 单击页面顶部的按钮

正在发生的是我们的rowsPerPage是2,但是我们最初有4行,所以我们有2页。

当我们导航到第二页(显示第3行和第4行)时,到目前为止一切都很好,但是当我们将表数据更改为只有2行的数组时,表将被重新呈现,但仍然显示第二个页面(因为我们的newData只包含2行,而rowsPerPage是2行),这是空的。

此时,您必须单击左箭头,才能转到您将看到newData的页面

我希望我说得够清楚,我怎样才能解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-06-14 08:39:46

在最新版本的库中,这似乎是一个有待解决的问题。如果您可以选择将库降级到更低的版本,那么您的代码在2.0.0 of mui-datatables中运行得很好。

票数 2
EN

Stack Overflow用户

发布于 2021-02-20 06:11:22

我也有过类似的问题。在我的例子中,警告是在我的应用程序处于加载状态时生成的。在加载数据时,我的记录计数=0导致页面支柱验证器抛出警告。

我找到了解决这个问题的两种方法:

1.在加载阶段期间隐藏分页

这应该可以消除警告,但当页面加载时,可能会通过闪烁使UI感到“简陋”。

2.在加载时使用三元逻辑来确定页面值

这是我最喜欢的解决方案,允许我在加载页面时继续显示分页控件。在短短的加载期间,分页信息并不准确,但我发现这比闪烁更有利。

为了达到预期的结果,我创建了一个常量,将一些逻辑传递到表组件的currentPage支柱中:

代码语言:javascript
复制
// using a material-ui component in react web app
    
// sets page to 0 while loading

const pageWithLoading = {(page > 0 && records.length < rowsPerPage) ? 0 : page} 

<TablePagination curentPage={pageLoadingRange} {...props} />

我发现了关于这些解决方案的很好的讨论-- 在GitHub上

票数 1
EN

Stack Overflow用户

发布于 2022-02-16 12:27:59

同样的问题,我也不想搞砸这个版本,所以我想出了一个办法:

Math.min(count, pageIndex)完成了page道具的戏法

代码语言:javascript
复制
<TablePagination
            rowsPerPageOptions={[2, 5, 10, 25, 50]}
            component="div"
            count={count}
            rowsPerPage={rowsPerPage}
            page={Math.min(count, pageIndex)}
            onPageChange={onPageIndexChange}
            onRowsPerPageChange={onRowsPerPageChange}/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56594384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档