问题描述
在真实的业务场景下,请求接口需要调用 wx.showLoading(),接口请求结束调用 wx.hideLoading()。如果需要给用户提示错误信息,调用 wx.showToast(),在模拟器上没事,但是在真机上会出现提示信息闪烁一下,然后消失。
解决方案
这个问题出现的原因就是因为小程序的内部处理 wx.showLoading() 和 wx.showToast() 调用的是同一个框,都受 wx.hideToast() 或者 wx.hideLoading() 的影响。
比如在真机上你的代码顺序为 wx.showLoading() =>wx.hideLoading() => wx.showToast() ;但是实际你看到的现象是 wx.showLoading() => wx.showToast() =>wx.hideLoading(),受到最后的 wx.hideLoading() 影响,toast 框闪烁一下就消失
解决方法如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13wx.showLoading(); wx.hideLoading(); setTimeout( () => { wx.showToast({ title: '提示的错误术语', icon: "none", }); setTimeout( () =>{ wx.hideToast(); },2000) },0); // 看到代码就明白了,其实就是把 wx.showToast() 放到事件队列的队尾去执行。
最后
以上就是大力台灯最近收集整理的关于wx.showToast() 在真机中显示停留较短的全部内容,更多相关wx.showToast()内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复