antd table翻页后勾选失效的问题

514 阅读1分钟

如何复现

勾选任意项后翻页,再回到本页,勾选项会失效\

原因

翻页后数据发生更新,table只加载了本页数据,因此上次勾选的数据无法再次匹配\

如何解决

搜索条件发生变化时,重新给table的数据赋值,根据total创建数组,例如data.total为100,则创建一个长度为100的数组,将本次数据放入数组的头部
当仅仅分页条件发生变化时,需要将获取的数据插入到相应的位置,比如pageSize为10,pageNum为1,则将数据放在数组的0-9,pageNum为3时,则将数据放在数组的20-29。可以使用splice方法实现。如果从第一页直接跳到第三页,则index 10-index 19为空数据,会导致自定义渲染报错,注意要在Table的render函数内做非空判断

注意

会有性能问题,只在必要的时候使用