小程序
小游戏
企业微信
微信支付
扫描小程序码分享
你们的小程序防重复点击都怎么做的 我们现在的做法是进方法if(this.data.index==0){ that.setData({that.data.index=1 代码逻辑 最后that.data.index=0 })} 这样严重影响了代码的可读性 不做放重复点击的话 不管是跳转还是网络请求都有很多问题 官方也没有给出一个好的方法或者是给api加上放重复点击 你们有没有什么好办法??
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你不需要setData啊。。直接 this.index=0 this.index=1 这样就行啦
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
不不不不。。你理解错了。。我的意思是,你不需要setData。。你就写成
if(this.prevent){
return
} else {
this.prevent = true
}
wx.request({
...
success: xxx=>{
this.prevent = false
})
又学到一招 但还是觉得这种方式不太好 很多方法调方法很容易就漏掉了 提前放开的话又没有效果 大佬有没有什么好方法
看你的需求是什么样子。。如果是初始化阶段防止点击,可以用 wx.showLoading({mask:true})。。如果只是控制频率,可以setTimeout把 this.prevent复位为false。。
可以封装成方法呀,然后各自用不同的prevent属性,preventTap preventSearch preventNav 然后做个方法统一去判断复位。。
初始化的都还好说 就是控制快速点击的 严重影响代码可读性 有些方法调方法 发送多个请求的时候很容易漏掉 比如请求后success里面放开了 然后fail里里面忘记了 又不能放在complete同一放开的情况 还是很多的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你不需要setData啊。。直接 this.index=0 this.index=1 这样就行啦
不不不不。。你理解错了。。我的意思是,你不需要setData。。你就写成
if(this.prevent){
return
} else {
this.prevent = true
}
wx.request({
...
success: xxx=>{
...
this.prevent = false
}
})
又学到一招 但还是觉得这种方式不太好 很多方法调方法很容易就漏掉了 提前放开的话又没有效果 大佬有没有什么好方法
看你的需求是什么样子。。如果是初始化阶段防止点击,可以用 wx.showLoading({mask:true})。。如果只是控制频率,可以setTimeout把 this.prevent复位为false。。
可以封装成方法呀,然后各自用不同的prevent属性,preventTap preventSearch preventNav 然后做个方法统一去判断复位。。
初始化的都还好说 就是控制快速点击的 严重影响代码可读性 有些方法调方法 发送多个请求的时候很容易漏掉 比如请求后success里面放开了 然后fail里里面忘记了 又不能放在complete同一放开的情况 还是很多的