uniapp

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:'可以再次请求'
      })
    }
  });   
},

⚠️ 目前我用的这种,在需要的位置重复写。大家有好的办法,欢迎指点一二!

上一篇 下一篇

猜你喜欢

热点阅读