使用微信小程序的swiper组件时,如果在 bindchange
的事件回调函数中使用 setData
改变 current
值,则有可能导致 setData
被不停地调用,因而通常情况下请在改变 current
值前检测 source
字段来判断是否是由于用户触摸引起。
autoplay
自动播放导致swiper变化;touch
用户划动引起swiper变化;- 其它原因将用空字符串表示。
bindchange(e){ let current = e.detail.current if (e.detail.source == 'touch'){ this.setData({ swiperCurrent: current }) } }