showLoading 与 showToast的问题
发布于 6 年前 作者 jing21 14356 次浏览 来自 问答

最近微信更新了IOS版本,已经解决了hideLoading 后不能正常显示showToast的问题。那么新的问题来了如下:

通常我们在使用showLoading() 后都使用hideLoading() 来关闭loading层。那么如果我们在showLoading() 后面直接使用 showToast()

是同样可以关闭之前的showLoading() 后而显示showToast的提示内容的。

那这里有个关键的问题就:这个

maskBoolean是否显示透明蒙层,防止触摸穿透,默认:false

(前提:我们未在showLoading() 与 showToast() 之间使用hideLoading() ,原因是 这样图标由圆形进度条 可瞬间切换成toast里的图标,如果我们使用了hideLoading,那么showLoading 与 showToast两者衔接上 会有个缓冲,也就是说我们会看到进度条一闪然后出现showToast 的提示,等于是先关闭了showLoading后重新调用了提示层组件了 所以会一闪。如果未使用hideLoading() 那么没有这个一闪的问题,是直接切换过去了)

当我们在showLoading() 里使用了mask: true ,在showToast()里也使用了mask:true ,那么这个时候当showToast 自动关闭后,页面的链接是无法再次点击了,因为这里有2个透明层 实际上showToast关闭showLoading的时候透明层依然存在

3 回复

测试代码如下:

wx.showLoading({

      title: ‘加载中’,

      mask: true

})

util.wxRequest(that.data.host+“ajax/getdata.php”,{“act”:“add”,“pg”:“cart”,“goodslist”:JSON.stringify(goodslist),“session”:app.globalData.session},“POST”,function(res){

if(res.data.login){

        app.wxLogin(function(){

          that.addcart();

        });

        return;

  }

  //wx.hideLoading();

  if(res.data.status==200){

       wx.showToast({

          title: ‘添加成功’,

          icon: ‘success’,

          mask: true

       })

  }

})

你好,这是一个已知问题,我们会在后续版本中进行修复。

补充:IOS版本上~~,上次反馈过这个问题,依然存在

回到顶部