uni.showToast在真机上一闪而过
时间: 2024-01-06 21:16:25 浏览: 123
在真机上,uni.showToast一闪而过的现象可能是由于代码的执行顺序所造成的。根据引用[2]中的描述,wx.showToast和wx.hideToast应该配对使用。如果在真机上遇到uni.showToast一闪而过的情况,可能是因为uni.showLoading和uni.showToast之间的执行顺序不正确,导致toast框在loading框未完全隐藏之前就被隐藏了。一种解决方案是在uni.showToast之前加入适当的延迟,确保uni.showLoading完全隐藏后再调用uni.showToast。例如,可以使用setTimeout来延迟调用uni.showToast,确保它在uni.hideLoading之后执行,如下所示:
```
uni.showLoading();
setTimeout(() => {
uni.showToast({
title: '编辑成功',
icon: 'none',
duration: 1000,
mask: true
});
}, 1000);
```
这样做可以确保toast框在loading框完全隐藏后再显示,避免了uni.showToast一闪而过的情况发生。另外,根据引用的描述,uni.showLoading和uni.showToast是调用同一个框,都受uni.hideLoading或uni.hideToast的影响。因此,如果仍然遇到toast框闪烁一下就消失的问题,可以尝试在uni.hideLoading之后加入适当的延迟,如下所示:
```
uni.showLoading();
uni.hideLoading();
setTimeout(() => {
uni.showToast({
title: '编辑成功',
icon: 'none',
duration: 1000,
mask: true
});
}, 1500);
```
这样做可以确保toast框在loading框完全隐藏后一段时间内显示,避免了toast框闪烁消失的问题。综上所述,通过调整代码的执行顺序或加入适当的延迟,可以解决uni.showToast在真机上一闪而过的问题。
阅读全文