swiper 安卓模式下抖动问题
发布于 4 年前 作者 jyin 16112 次浏览 来自 问答

<swiper class=‘swiper’ autoplay=“true” circular=“true” current="{{swiperIndex}}" bindchange=“swiperChange”>

<block wx:for="{{result.shqSetup.pictureArray}}" wx:key>

<swiper-item>

<navigator hover-class=‘none’ url=’/pages/videoDetails/videoDetails?detailsId={{item.id}}’ open-typ=“navigate”>

<image class=‘swiperImg’ src="{{item.img}}" mode=“aspectFill” lazy-load=“true”></image>

</navigator>

</swiper-item>

</block>

</swiper>

自定义的小圆点样式

<view class=‘indexDots’>

<block wx:for="{{result.shqSetup.pictureArray}}" wx:key>

<label class="{{index==swiperIndex?’’:‘dotsActive’}}"></label>

</block>

</view>

data: {

swiperIndex: 0,

},

// 顶部轮播指示点功能内容

swiperChange(res) {

this.setData({

swiperIndex: res.detail.current

})

},

// 顶部轮播指示点功能内容 END

不知道怎么就来回抖啊抖,猜是快速循环导致

  • 需求的场景描述(希望解决的问题)
  • 希望提供的能力

万能的社区大佬,请问是什么问题导致的??

2 回复

我昨天提出这个问题 ,去掉aspectFill就没有问题了

可以试试,自定义圆点中的swiperIndex换个变量名,比如swiperCircleIndex。

<label class="{{index==swiperCircleIndex?’’:‘dotsActive’}}"></label>

swiperChange(res) {

this.setData({

swiperCircleIndex: res.detail.current

})

}


尽量避免swiper中的数据有setData。感觉change事件可以不用setData就不要用了,遇到的坑不少~

回到顶部