收藏
回答

swiper只有一组数据的时候,不显示。

问题模块
API和组件



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

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

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

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

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

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


当前微信版本6.5.16

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

最后一次编辑于  2017-09-19  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

4 个回答

  • 赵青山
    赵青山
    2017-09-19

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

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

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

            <swiper-item>

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

    this.setData({

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

    })

    2017-09-19
    赞同
    回复
  • LastLeaf
    LastLeaf
    2017-09-20

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

    2017-09-20
    赞同
    回复
  • 赵青山
    赵青山
    2017-09-20

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

    2017-09-20
    赞同
    回复
  • 秋子
    秋子
    2017-09-23

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

    2017-09-23
    赞同
    回复