uniapp 防止重复点击
2022-04-08 本文已影响0人
AAA_si
最近在写uniapp的小程序时,遇到请求后台数据时,在第一次点击后后台还没响应结束,再次点击会报错。于是做了一个简单的处理。
两种办法
方法1:在全局定义的uni.request设置
// 在请求前
uni.showLoading({
mask:true //是否显示透明蒙层,防止触摸穿透,默认:false
});
// 在拿到数据后
uni.hideLoading();
⚠️ 这样写有个问题,如果当前页面进来需要请求多次,那就会出现loading显示后隐藏在显示在隐藏。因为每次请求都会出现loading框。不建议这样写,有更好的办法,欢迎指点!
方法2:在单独的请求设置
getbtn(){
// 请求前
uni.showLoading({
mask:true //是否显示透明蒙层,防止触摸穿透,默认:false
});
// 全局的请求封装(需要自己去封装)
this.$https.post('/page/getlist',{
}).then(res=>{
// 拿到数据后
uni.hideLoading();
if(res.code == 0){
uni.showToast({
title:'可以再次请求'
})
}
});
},
⚠️ 目前我用的这种,在需要的位置重复写。大家有好的办法,欢迎指点一二!