收藏
回答

showLoading 与 showToast的问题

问题模块
API和组件

最近微信更新了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的时候透明层依然存在

最后一次编辑于  2017-11-14
回答关注问题邀请回答
收藏

3 个回答

  • 微信技术专员 - Rex
    微信技术专员 - Rex
    2017-11-15

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

    2017-11-15
    赞同
    回复
  • 周涛
    周涛
    2017-11-14

    测试代码如下:

    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

           })

      }

    })

    2017-11-14
    赞同
    回复
  • 周涛
    周涛
    2017-11-14

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

    2017-11-14
    赞同
    回复