我們一般遇到防止按鈕連續點擊,重復發送請求會在按鈕上添加disabled屬性,點擊后讓按鈕的這個屬性為true,就不能點擊了
但是,當指頭速度超級快時還是避免不了,重復發送請求,然后在網上看到了一個辦法,
disabled屬性還加,點擊后將按鈕置灰,
另外,將我么你要執行的方法 單獨封裝成一個方法
然后將這個方法 賦值給一個變量,每次點擊時去調用這個變量(已經將這個方法賦值給它了),將這個變量放到計時器內執行
let self = this,fun; self.saveOrderBtnCanUse = true;//按鈕不能點擊 setTimeout(() => { //防止重復點擊發送請求 fun = saveFun; fun(); }, 500); function saveFun(){//do some self.saveOrderBtnCanUse = false }
發現上面的還會重復觸發(只要夠快),
然后試了試下面的,好了:
self.saveOrderBtnCanUse = true;//按鈕不能點擊 setTimeout(() => { //防止重復點擊發送請求 self.saveOrderBtnCanUse = false;//按鈕不可以點擊 }, 1000);
正常代碼再執行
。