需求:
- 在使用antd Protable 的时候,如果做了删除,刚好是当前页的最后一项
- 该组建不会自动翻页到上一页,而是会继续留在这一页,并且显示没有内容
进程:
- 翻阅了文档之后并没有找到什么比较好的方案,不论是table 还是 protable 都没有说明如何通过api 来控制页码,或者翻页
- 有一个比较麻烦的方案,可以配置 pagination 参数来使得页码受控,具体的可以参考pagination 组件
- 这个方法需要定义page,然后做setpage 啥的,但是我并不需要这个组建受控,我只需要做一个翻页就行了
- 文档没有,那就只能看代码了,查看了 actionRef 的定义后,再看 ActionType,发现里面有一个方法,是 setPageInfo, 可以传递 pageInfo ,尝试一下就成功了,但是他好像会额外发一次请求,不知道为什么,代码如下
const msg = await getList(newParams);
if (!msg.result) {
message.error(msg.message);
} else if (msg.response?.list?.length == 0 && newParams.page > 1) {
actionRef.current.setPageInfo({current: newParams.page - 1})
}