1.场景介绍:
后端处理进行分页操作,前端每次传递pageNum和pageSize参数
在使用antd的组建 Table 编写前端界面时,使用了Table中一些关于分页的属性,如下所示:
pagination={{
total: total,
defaultPageSize: 1,
showQuickJumper: true,
onChange: this.getProducts,
showTotal: total => `Total ${total} items`
}}
此时,其实没有太大的问题。但是,发现在进行条件搜索时,遇到下面这个场景的小问题。
2.问题描述:
当分页点击到某页,如:8。然后进行某搜索操作,如果后端在进行分页操作之后,总页码小于8时,前端此时搜索刷新会显示,无数据。经过查看接口返回数据情况,后端接口正常。问题在于:在进行条件搜索时,点击的分页码大于条件搜索后总页码,会导致搜索之后,并不点击某页,所以会显示空。此时,如果手动再点击分页栏页码,是可以正常显示的。
3.解决办法:
在state里面存储page , 给pagination新配置一个参数,current 设定为page。然后给条件搜索的函数传递一个参数为page==1。此时,在搜索之后,如果存在搜索结果会默认点击到第一页。