wx.showToast消失太快
时间: 2024-01-06 19:18:45 浏览: 143
官方问答精选《八》wx.showToast()无效,分享功能真机没有效果
wx.showToast消失过快是因为在小程序的内部处理中,wx.showToast和wx.showLoading调用的是同一个框,它们都受到wx.hideToast或者wx.hideLoading的影响。所以,如果在真机上,代码顺序为wx.showLoading() -> wx.hideLoading() -> wx.showToast(),实际看到的现象会是wx.showLoading() -> wx.showToast() -> wx.hideLoading(),最后的wx.hideLoading()会影响到toast框,导致它闪烁一下就消失。
解决这个问题的方法是将wx.showToast放到事件队列的队尾去执行。可以使用setTimeout来延迟执行wx.showToast,示例代码如下:
setTimeout(() => {
wx.showToast({
title: '提示的错误术语',
icon: "none",
});
setTimeout(() => {
wx.hideToast();
}, 2000);
}, 0);
这样做可以保证wx.showToast在wx.hideLoading之后执行,从而避免toast框消失过快的问题。
阅读全文