前端问一个无限滚动加载的问题

2020 年 4 月 25 日
 chengxy

程序背景:主界面是一个可下拉无限加载的列表,辅助页面是对列表项做操作。

需求:在辅助页面删除数据后,回到主界面,主界面同时删除数据。

问题:当我删除了某条数据后再次去请求数据(下一页),这时后因为服务器文件少了一条,假如和正常一样发送请求( page * pageSize ),会少一条,怎么解决?

5949 次点击
所在节点    JavaScript
33 条回复
justseemore
2020 年 4 月 26 日
非广告, https://j4u.ink/iKVQQF 有无限下拉加载列表.. js 文件 https://j4u.ink/U3ZIXK
lazy21
2020 年 4 月 26 日
使用发布订阅模式,辅助页面发布一个事件,列表监听同一个事件
wildnode
2020 年 4 月 26 日
@chengxy 我们之前的一种做法是,不删除主页面的数据,通过 dispatch 一个事件将主页面中的那条数据标记为已删除,然后通过 UI 的方式告知用户这条被删掉了,不可操作。不知道你们能这样搞不。。
Yourshell
2020 年 4 月 26 日
可以看一下 service worker
uchihaObito
2020 年 4 月 26 日
是不是可以这样,声明一个 deleteCount,每次有删除的时候 deleteCount+1,然后请求下一条分页的时候 offset 传本来应该传的 offset-deleteCount,请求成功后 deleteCount 重新置 0
hoythan
2020 年 4 月 26 日
后端改个毛,非常合理的设计,删除的时候你应该前端标记它让他不显示而已,页码还是正常的加载。
上拉刷新或者刷新的时候再取消标记
hoythan
2020 年 4 月 26 日
记得防止无限滚动的时候占位别丢了就行。
VWMMWV
2020 年 4 月 26 日
之前的做法都是返回后加载第一页的数据,看完你们的思路,觉得很好,就是不知道后端愿不愿意改
zhuojiu
2020 年 4 月 26 日
状态删除不就行了吗?
uchihaObito
2020 年 4 月 26 日
@zhuowenli 如果筛选条件的分页是不是就不能用 id 了
chengxy
2020 年 4 月 26 日
@hoythan #27 是指的不发送删除请求吗,用户关闭了页面怎么办?
luoruiqing
2020 年 4 月 26 日
置灰~
zhuowenli
2020 年 4 月 26 日
@uchihaObito 是的,只适合流式分页

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/666027

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX