swiper 如果在 [代码]bindchange[代码] 的事件回调函数中使用 [代码]setData[代码] 改变 [代码]current[代码] 值,则有可能导致 [代码]setData[代码] 被不停地调用,因而通常情况下请在改变 [代码]current[代码] 值前检测 [代码]source[代码] 字段来判断是否是由于用户触摸引起。 需要在tabs组件中给handleSwiperChange方法加一层判断 if(e.detail.source == 'touch'){ var index = e.detail.current; this.setData({ activeTab: index }); this.triggerEvent('change', { index: index }); }
扩展组件tabs在某些情况下触发自动频繁的tab切换1 官方小程序示例 https://developers.weixin.qq.com/s/7JZHVmm27QeD 2 运行真机模拟 [图片] 3 点击 “tabs” 4 进入后,用手指滑动,行为正常。 5 连续快速向左滑动4,5次后,立刻向右滑动1,2次。 6 小程序开始疯狂自动切换,像抽风一样。:) 如确认是bug,还请提供临时避开的方案。
2021-04-20