swiper只有一组数据的时候,不显示。
发布于 6 年前 作者 qiang33 5887 次浏览 来自 问答

我有一个二维数组用于渲染swiper,如[{1},{2},{3}]。平时状态下,会有3个swiper-item被渲染出来,很正常。

但是,当我这个二维数组只有一个值的时候,即[{1}]

当前页面会发生空白什么都没有!

仔细观察,这个唯一的swiper-itemstyle里有这么一条——“transform:translate(-100%, 0%) translateZ(0px)”。

那也就说,数据是出来了,但是这个swiper-item被弄到屏幕左边去了,所以当前屏幕是空白的。

然后,我尝试左右滑动,无效!

当前微信版本6.5.16

官方如需重现,请联系微信15333690618

4 回复

1楼正解,应该是current值超出范围了。此时swiper会进入无效状态。

你好 按照你的方式不行哦~

说错了,current的值不能大于list.length-1,抱歉

这个可以说是bug,也可以说不是,current的值是随着翻页变化的,最大为数组的长度

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

    <block wx:for="{{list}}">

        <swiper-item>

每次更新数据的时候(数组的长度可能减小),所以记得:

this.setData({

    current:0 // current的值不能大于list.length,所以每次更新数据的时候最好置为0,

})

回到顶部