使用switch组件设置了disable:true属性后,组件变灰但点击仍然会触发click事件
可能的原因:
异步更新:vue在处理数据更新时会使用用异步更新队列,会先触发click事件,即使disable为true。
解决办法:
一、使用@change事件代替click
change事件通常在值发生变化后触发,disable:true组件禁用时点击就不会触发事件处理
二、在click事件内部,加上一个if判断当前组件是否为禁用
methods: { onSwitch() { if (disabled) { return false; } }, },