背景:小程序有的中央点击 如果申请比较慢,就会关上两次新页面,所以这里对用户短时间双击进行了解决
如果有更好的办法 请留言哦 我参考学习下
我也是参考了他人的:https://blog.csdn.net/weixin_…
1.封装公共办法
export function disableDoubleClick(fn, flag, data = {}) {
let that = this;
//这里flag 也是为了避免一个页面多个点击事件
if (that[flag]) {
that[flag] = false;
fn(data);
setTimeout(function() {
that[flag] = true;
}, 1500)
} else {
//如果始终走else分支可能是你没有在页面的data上面挂载flag:true,不然始终都会走else
console.log("请稍后点击")
}
}
2.挂在在vue中
import { disableDoubleClick } from '../utils/utilsFn.js'
Vue.prototype.$disableDoubleClick = disableDoubleClick;
- 须要的页面应用
<view class="xf-act-btn" @click="$disableDoubleClick (handleLogin ,'onoff')" >开始提货</view>
<view class="history-btn" @click="$disableDoubleClick(historyPage ,'onoff1')">历史提货</view>
留神data定义一下,这里可能我解决的简单了,能够优化
data(){
return {
onoff:true,
onoff1:true,
}
}
发表回复