小程序按鈕避免多次調(diào)用接口和點(diǎn)擊方案實(shí)現(xiàn)(不用showLoading)
本來是用showLoading的,點(diǎn)擊直接轉(zhuǎn)菊花,但是呢,showLoading和 showToast這個(gè)方法是沖突的,你轉(zhuǎn)了菊花不能彈toast提示,在某個(gè)頁面需要提交一次表單和做輸入驗(yàn)證,測(cè)試說可以點(diǎn)擊多次
然后想到可以用一個(gè)變量判斷是否點(diǎn)擊了,然后500毫秒后自動(dòng)回來
寫在公共的utils方法里面
// 防止多次點(diǎn)擊 function btnClickedFun(self) { self.setData({ btnClicked: true }) setTimeout(() => { self.setData({ btnClicked: false }) }) }
js 代碼
Page({ data: { btnClicked: false }, click: function (e) { utils.btnClickedFun(this); // 各種處理代碼 if (!form[json.departmentId]) { utils.showToast('請(qǐng)選擇所屬部門') return } ... // 各種處理代碼 utils.showLoading() 開始調(diào)接口 }, })
html代碼
<view bindtap="{{!buttonClicked?'click':''}}" data-id="{{id}}" /> <button bindtap="{{!buttonClicked?'click':''}}" data-id="{{id}}" /> <button bindtap="click" disabled="buttonClicked" data-id="{{id}}" />
到此這篇關(guān)于小程序按鈕避免多次調(diào)用接口和點(diǎn)擊方案實(shí)現(xiàn)(不用showLoading)的文章就介紹到這了,更多相關(guān)小程序按鈕避免多次點(diǎn)擊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript htmlencode函數(shù)(ff兼容版) 主要是編輯器中反轉(zhuǎn)html代碼
非常不錯(cuò)的htmlencode 方法,比用正則實(shí)現(xiàn)的更好,而且效率高,推薦使用第一種方法。2009-06-06js金額千分位的6種實(shí)現(xiàn)方法實(shí)例
在前端開發(fā)中經(jīng)常會(huì)遇到這樣一種需求,使用Javascript格式化數(shù)字進(jìn)行輸出,下面這篇文章主要給大家介紹了關(guān)于js金額千分位的6種實(shí)現(xiàn)方法,需要的朋友可以參考下2022-03-03JS實(shí)現(xiàn)的哈夫曼編碼示例【原始版與修改版】
這篇文章主要介紹了JS實(shí)現(xiàn)的哈夫曼編碼,結(jié)合實(shí)例形式分析了基于JavaScript定義、使用哈夫曼樹進(jìn)行編碼、解碼等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04JS控件autocomplete 0.11演示及下載 1月5日已更新
JS控件autocomplete 0.11演示及下載 1月5日已更新...2007-01-01javascript中SetInterval與setTimeout的定時(shí)器用法
Javascript的setTimeOut和setInterval函數(shù)應(yīng)用非常廣泛,它們都用來處理延時(shí)和定時(shí)任務(wù),比如打開網(wǎng)頁一段時(shí)間后彈出一個(gè)登錄框,頁面每隔一段時(shí)間發(fā)送異步請(qǐng)求獲取最新數(shù)據(jù)等,本文文章通過代碼示例給大家介紹javascript中SetInterval與setTimeout的定時(shí)器用法2015-08-08JavaScript實(shí)現(xiàn)日期格式化的方法匯總
日期是許多JavaScript應(yīng)用程序的基本組成部分,無論是在網(wǎng)頁上顯示當(dāng)前日期還是處理用戶輸入以安排事件,本文將探討在?JavaScript?中格式化日期的各種技術(shù),希望對(duì)大家有所幫助2023-06-06