学小程序时写过一个B站demo,也遇到此问题,最后自定义Swiper的Dot来实现了。
思路是:用view组件重写dot,给swiper组件绑定bindchange事件用来获取当前第几个dot,动态改变class。
duration="{{duration}}">
data: { // 是否显示面板指示点
indicatorDots: false, // 是否自动切换
autoplay: true, // 自动切换时间间隔
interval: 5000, // 滑动动画时长
duration: 1000, dotsClass: ['on','','','','']
},swiperChange: function(event) { var dotsClass = ['','','','',''];
dotsClass[event.detail.current] = 'on'; console.log( event.detail.current ); console.log( dotsClass ) this.setData({
dotsClass: dotsClass
});
}