1.在根目录下新建common文件并创建common.js文件,代码直接复制粘贴即可。
// 防止处理多次点击 function noMultipleClicks(methods, info) { // methods是需要点击后需要执行的函数, info是点击需要传的参数 let that = this; if (that.noClick) { // 第一次点击 that.noClick= false; if(info && info !== '') { // info是执行函数需要传的参数 methods(info); } else { methods(); } setTimeout(()=> { that.noClick= true; }, 2000) } else { // 这里是重复点击的判断 } } //导出 export default { noMultipleClicks,//禁止多次点击 }
2.man.js文件中引入
//配置公共方法 import common from './common/common.js' Vue.prototype.$noMultipleClicks = common.noMultipleClicks;
3.在实际页面中引用
(1)不传参,直接传一个方法就行 //记得在data中挂载 noClick:true,否则点击会失效 data() { return { noClick:true, } }, <view class="bottom-btn-box"> <view class="submit-btn" @click="$noMultipleClicks(commitWork)">提交</view> </view> methods:{ //提交方法 commitWork(){ } }
(2)带参数,传一个方法和一个参数就行 //记得在data中挂载 noClick:true,否则点击会失效 data() { return { noClick:true, } }, <view class="bottom-btn-box"> <view class="pay" @click.stop="$noMultipleClicks(goPay, item)" >支付</view> </view> methods:{ goPay(item){ //balabala } }
标签:info,uniapp,methods,true,表单,点击,common,提交,noClick From: https://www.cnblogs.com/LindaBlog/p/16779233.html