AntDesign 分页 警告 [`dataSource` length is less than `pagination.total` but......] 解决方法
warning:
这篇文章距离上次修改已过459天,其中的内容可能已经有所变动。
报错解释:
Ant Design 的 Table 组件在使用分页功能时,如果你设置了 pagination 属性,并且指定了 total 参数为一个特定的数值,但实际数据源 dataSource 中的数据长度小于 pagination.total 指定的总数,就会出现这个警告。这通常意味着分页控件被设置成显示了比实际更多的页码或数据项,可能会导致用户界面上的不一致。
解决方法:
- 确保
dataSource的长度始终与pagination.total一致,或者至少不小于当前页的数据项数。 - 如果数据源是异步加载的,确保在加载数据后正确计算并设置
pagination.total。 - 可以在数据加载完毕后,使用 Table 组件的
setPagination方法动态更新pagination配置,确保total参数的正确性。
示例代码:
// 假设你已经有了一个获取数据的函数 fetchData,它返回一个Promise
fetchData(pagination.current, pagination.pageSize).then(data => {
// 假设 data 是一个对象,包含属性 `list` 和 `total`
setState({
dataSource: data.list,
pagination: { ...pagination, total: data.total },
});
});确保在数据加载完成后,更新 pagination.total 为实际加载到的数据总数,这样就不会出现上述警告。
评论已关闭