- 当前 Bug 的表现(可附上截图) 因为数据量太大,选择在swiper滑动时动态改变list中的数据,开始取索引从0 - 10的数据,当滑动到最后一条的时候把数据改为所以从 0 - 20 的数据,因为是通过current-item-id控制当前swiper的展示,所以在右滑切换的时候表现正常,只是在数据替换时有些卡顿,但是当开始往回滑动的时候就会出现 current 为-1的情况导致白屏,但是并没有使用current控制swiper。而且可以保证current的值一直在swiper-item总量之内。
- 预期表现 不会出现current为-1的情况
- 复现路径
- 提供一个最简复现 Demo
util.js 下的 getPosterList 函数,我看你用 slice 计算了 nextList, 在这里应该保证:前面加载过的item不能被挪掉否则swiper内部可能会错乱。所以,应该返回 list.slice(0, endIndex)。
可是这样的话一直往右滑还是会导致list数组越来越长 我这总共1000多张图片 就会越来越卡啊。
而且我这一直往后滑就不会有问题
那你可能要自己控制swiper的current属性来搞了
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
为什么我没用current去控制swiper,current还是能反过来影响到swiper的展示,那这样的话current-item-id的作用呢
你的swiper根本没绑定current属性吗?
是的 我用的current-item-id
emmm......wtf......current-item-id 没有重复的情况吧。。
特地确认了 没有..
去掉 swiper-item 上的 item-id属性试试
除了增加初次渲染swiper-item数量,有没有找到解决方法?我的一次渲染3个item,右滑一直没问题,左滑明明页面存在,左滑的一半的时候也能看见上一个页面内容,一但滑完,current自动变为-1,页面就变空白了
2024年了还有这个问题