table分页onShowSizeChange后的pageNo解决
在table分页中,当用户选择每页显示的条数发生变化时,可以通过以下方法解决pageNo的问题:
1. 在onShowSizeChange事件中,将pageNo重置为1,这样每次改变每页显示的条数时,都会将当前页重置为第一页。
```javascript
onShowSizeChange = (current, pageSize) => {
this.setState({
pageNo: 1,
pageSize: pageSize,
});
// 其他逻辑
};
```
2. 在表格数据请求时,根据当前页码和每页显示的条数计算出新的起始索引,然后根据新的起始索引和每页显示的条数获取新的数据。
```javascript
getData = () => {
const { pageNo, pageSize } = this.state;
const startIndex = (pageNo - 1) * pageSize;
// 根据startIndex和pageSize获取数据
// 其他逻辑
};
```
3. 更新表格数据时,根据新的数据和总条数重新计算页码并更新state中的pageNo。
```javascript
updateTableData = (data, total) => {
const { pageSize } = this.state;
const totalPages = Math.ceil(total / pageSize);
let { pageNo } = this.state;
if (pageNo > totalPages) {
pageNo = totalPages;
}
this.setState({
data: data,
total: total,
pageNo: pageNo,
});
};
```
这样就可以保证在改变每页显示的条数时,正确地更新当前页码并获取相应的数据。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341