收藏
回答

swiper的current属性设置为什么失效了?

什么都没做,只要启用skyline渲染,swiper的设置current就会失效(第一次会成功,连续第二次点击就会失效);关闭skyline就又正常了,怎么整啊,大神们。

<swiper class="swiper" current="{{currentIndex}}">

<swiper-item wx:for="{{array}}" wx:key="*this">

<view class="item-cell">{{item}}</view>

</swiper-item>

</swiper>

<button bind:tap="setCurrent">currentIndex: 6</button>


回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    07-16

    因为需要保持current 为当前真正的页面,setData 才会生效

    07-16
    有用
    回复
  • 余生
    余生
    07-13

    加这个就可以了

    <swiper class="swiper" current="{{currentIndex}}"  bindchange="changeSwiper">
    
    changeSwiper(e) {
        console.log(e)
        this.setData({
          currentIndex: e.detail.current
        })
      },
    
    07-13
    有用 1
    回复 1
    • 刘佳琪13
      刘佳琪13
      07-13
      太有用了,虽然搞不懂为啥会这样,你简直是我的救命恩人啊
      07-13
      回复
  • 一笑皆春
    一笑皆春
    07-13

    不要点击太快,延迟点击试一下,这应该是个问题,等待修复吧

    07-13
    有用
    回复 4
    • 刘佳琪13
      刘佳琪13
      07-13
      不是点太快问题,上面“余生”回复的有效,skyline感觉 bug多啊
      07-13
      回复
    • 一笑皆春
      一笑皆春
      07-13回复刘佳琪13
      啊,没看懂,还是你代码写错了呗,上边那人发的就是正常的呀,不知道你的setCurrent怎么写的
      07-13
      回复
    • 刘佳琪13
      刘佳琪13
      07-13回复一笑皆春
      是的,他的是正常的。他是多在“bindchange”事件里面又调用了一次this.setData,这个是被动触发的,我这边是要主动切换current(第二次就会失败),你可以导入我代码片段看一下。
      07-13
      回复
    • 刘佳琪13
      刘佳琪13
      07-13
      webview是不用这样的
      07-13
      回复
登录 后发表内容