一个页面多个swiper时有bug
发布于 7 年前 作者 xiayin 11311 次浏览 来自 问答

你想反馈一个 Bug 还是 提一个需求?

bug

如果是 Bug:

一个页面多个swiper时(如在wxml中通过循环动态生成),如果划动某个1次swiper后,用setData()更新循环变量后第一个swiper(新增项)的current值不是0,而是1。

* Bug 表现是什么?预期表现是什么?

导致如果新增的这个swiper中只有一项,那么页面中这个位置将是空白(因为其current默认应该为0)

* 如何复现?

  1. 通过循环生成swiper,例循环变量为数组a

  2. 页面加载完成后,划动某一个swiper到第二项

  3. 向数组a的第一项前面添加一项

  4. 用this.setData()更新这个变量

  5. 查看页面(发现新增的swiper里面没有内容)

  6. 调试器中查看wxml,发现该swiper内容正确,但被设置了默认的current为1。 注: 如下,在wxml中给swiper设置上current="0"无效:

    <swiper current="{{0}}">

* 提供一个最简复现 Demo

目前没有,我想开发人员一看应该就明白了。有必要的话,可以与我联系,微信号:walt423454

4 回复

更新数据后如何重置current?

没有人知道吗?

这个问题目前我只能重新刷新整个页面数据来解决,页面有明显抖动。

问题解决了吗?

swiper的current是动态更新的,所以你写死0没用,你更新数据的时候重新设置current为0就行了,

回到顶部