(编辑:jimmy 日期: 2025/10/28 浏览:2)
本来是用showLoading的,点击直接转菊花,但是呢,showLoading和 showToast这个方法是冲突的,你转了菊花不能弹toast提示,在某个页面需要提交一次表单和做输入验证,测试说可以点击多次
然后想到可以用一个变量判断是否点击了,然后500毫秒后自动回来
写在公共的utils方法里面
// 防止多次点击
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('请选择所属部门')
return
}
...
// 各种处理代码
utils.showLoading()
开始调接口
},
})
html代码
<view bindtap="{{!buttonClicked" data-id="{{id}}" />
<button bindtap="{{!buttonClicked" data-id="{{id}}" />
<button bindtap="click" disabled="buttonClicked" data-id="{{id}}" />