Uniapp點擊按鈕防抖操作


一、在根目錄下新建common文件並創建common.js文件,輸入下面代碼
 1 // 防止處理多次點擊
 2 function noMultipleClicks(methods, info) {
 3     // methods是需要點擊后需要執行的函數, info是點擊需要傳的參數
 4     let that = this;
 5     if (that.noClick) {
 6         // 第一次點擊
 7         that.noClick= false;
 8         if(info && info !== '') {
 9             // info是執行函數需要傳的參數
10             methods(info);
11         } else {
12             methods();
13         }
14         setTimeout(()=> {
15             that.noClick= true;
16         }, 2000)
17     } else {
18         // 這里是重復點擊的判斷
19     }
20 }
21 //導出
22 export default {
23     noMultipleClicks,//禁止多次點擊
24 }

二、man.js文件引入

1 //配置公共方法
2 import common from './common/common.js'
3 Vue.prototype.$noMultipleClicks = common.noMultipleClicks;

三、在實際頁面中引用,不帶參數,直接傳一個方法就行

 1 //記得在data中掛載   noClick:true
 2 data() {
 3     return {
 4         noClick:true,
 5     }
 6 },
 7 
 8 <view class="bottom-btn-box">
 9     <view class="submit-btn" @click="$noMultipleClicks(commitWork)">提交</view>
10 </view>
11 
12 methods:{
13     commitWork(){
14         //balabala
15     }           
16 }

四、在實際頁面中引用,帶參數,傳一個方法和一個參數就行

 1 //記得在data中掛載   noClick:true
 2 data() {
 3     return {
 4         noClick:true,
 5     }
 6 },
 7 <view class="bottom-btn-box">
 8   <view class="pay" @click.stop="$noMultipleClicks(goPay, item)" >支付</view>
 9 </view>
10 
11 methods:{
12     goPay(item){
13         //balabala
14     }           
15 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM