涉及到【分页】的table的请求模式

step:1

 点击分页器的内容

 trigger事件句柄

(pagination, filters, sorter) => {//或者(page, pageSize)等
    this.props.onChange(pagination, filters, sorter);//继续向下传递,或者直接在这里处理,都可以
  }

step2

获取pagination中的pageSize/current等信息,和其他参数一同放入param中,发送异步请求;

step3

获取到服务器返回的数据,在opitons(一般都是放在这里)中会有:pageSize、current、total等分页器需要的信息;传递给paginnation;   更新paginnation;

over;

------------------------------------------------------------

为何要等服务器返回再传递给paginnation,而不直接点击的时候就改变呢(current页码可以现在设置,total一般要等请求后再设置)?其实原因就是:返回的total可能是会变化的(下一秒数据量改变了也是可能的), 

还有一点需要知道的点就是,如果用户是通过【搜索】【重置】来查询,则分页的数据应该请求第一页否则用户重新搜索了一个key,结果你展示的不是往往更重要的首页数据),这时候后台都会返回第一页的数据,我们也是从第一页开始显示。

所以  一般都是服务器返回后再设置 paginnation,当然方式可以是把pagination变成状态机管理起来,这样服务器返回后改变total等属性分页器也就会重新同步改变;

原文地址:https://www.cnblogs.com/zhilingege/p/8251600.html