问题模块 | 框架类型 | API/组件名称 | 终端类型 | 操作系统 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
API和组件 | 小程序 | swiper | 6.6.3 | 1.9.1 |
你想反馈一个 Bug 还是 提一个需求?
bug
如果是 Bug:
一个页面多个swiper时(如在wxml中通过循环动态生成),如果划动某个1次swiper后,用setData()更新循环变量后第一个swiper(新增项)的current值不是0,而是1。
* Bug 表现是什么?预期表现是什么?
导致如果新增的这个swiper中只有一项,那么页面中这个位置将是空白(因为其current默认应该为0)
* 如何复现?
通过循环生成swiper,例循环变量为数组a
页面加载完成后,划动某一个swiper到第二项
向数组a的第一项前面添加一项
用this.setData()更新这个变量
查看页面(发现新增的swiper里面没有内容)
调试器中查看wxml,发现该swiper内容正确,但被设置了默认的current为1。 注: 如下,在wxml中给swiper设置上current="0"无效:
<swiper current="{{0}}">
* 提供一个最简复现 Demo
目前没有,我想开发人员一看应该就明白了。有必要的话,可以与我联系,微信号:walt423454
网友回复
WALT:
没有人知道吗?
这个问题目前我只能重新刷新整个页面数据来解决,页面有明显抖动。
WALT:
更新数据后如何重置current?
赵子龙:
swiper的current是动态更新的,所以你写死0没用,你更新数据的时候重新设置current为0就行了,