最近微信更新了IOS版本,已经解决了hideLoading 后不能正常显示showToast的问题。那么新的问题来了如下:
通常我们在使用showLoading() 后都使用hideLoading() 来关闭loading层。那么如果我们在showLoading() 后面直接使用 showToast()
是同样可以关闭之前的showLoading() 后而显示showToast的提示内容的。
那这里有个关键的问题就:这个
mask | Boolean | 否 | 是否显示透明蒙层,防止触摸穿透,默认:false |
(前提:我们未在showLoading() 与 showToast() 之间使用hideLoading() ,原因是 这样图标由圆形进度条 可瞬间切换成toast里的图标,如果我们使用了hideLoading,那么showLoading 与 showToast两者衔接上 会有个缓冲,也就是说我们会看到进度条一闪然后出现showToast 的提示,等于是先关闭了showLoading后重新调用了提示层组件了 所以会一闪。如果未使用hideLoading() 那么没有这个一闪的问题,是直接切换过去了)
当我们在showLoading() 里使用了mask: true ,在showToast()里也使用了mask:true ,那么这个时候当showToast 自动关闭后,页面的链接是无法再次点击了,因为这里有2个透明层 实际上showToast关闭showLoading的时候透明层依然存在
测试代码如下:
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;
}
if(res.data.status==200){
wx.showToast({
title: ‘添加成功’,
icon: ‘success’,
mask: true
})
}
})