同时处理列表分页加载功能和Reload功能经验
功能背景:
1. 首先我们这个列表它带有搜索功能
2. 左边是列表,右边为详情。
3. 页面上方有添加新项功能, 会放到第一个。
4. 这是一个零件列表, 同一个页面可以有无数个这种零件列表
第一,列表带有搜索功能,当搜索的发生改变时要将请求页数重置为1。这里我们应该如何做呢?当请求成功并拿到数据后,通过ref来保留上一次搜索的值, 然后每次请求的时候去对比这两个值是否相同。
第二,这个列表之前有一个非常大的坑。就是之前的请求页数是根据接口获取的,而不是存在本地的,我们需要将其改为存在本地, 不然每次你去修改第一页的数据时,你的请求页数就变为1了。
第三,当我们新增一个选项时,我们需要将页数重置为1并将所有数据改为第一页数据。这是因为新增的数据会根据创建时间排在第一项。
第四,考虑到性能问题,我们一次只能请求一页的数据,而不能请求全部数据,然后在这一页的数据中根据ID筛选出我们刚刚修改的数据, 进行替换。
第五,网络差的时候可能获取不到修改选项页面的数据
第六,考虑当查看零件列表A详情时去更新零件列表B的数据。
第七,需要处列表组件中“能否加载下一页”变量的问题
第八,考虑重复搜索同一个值, 翻页和不翻页两种情况
第九,如果没有提供详情接口, 可以通过查找当前数据id所在的页数来请求单页数据来更新, (index + 1) /page size