我是靠谱客的博主 健壮飞机,最近开发中收集的这篇文章主要介绍小程序wx.showToast在真机上闪烁一下就消失,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用wx.showToast方法,在开发者工具中是按照设置的时间正常停留,但在真机上发现,提示框一闪而过,持续时间很短。

1、产生原因
网上有很多解释,这里我就直接引用一下

原因就是因为小程序的内部处理 wx.showLoading() 和 wx.showToast() 调用的是同一个框,都受 wx.hideToast() 或者 wx.hideLoading() 的影响。
比如在真机上你的代码顺序为 wx.showLoading() =>wx.hideLoading() => wx.showToast() ;但是实际你看到的现象是 wx.showLoading() => wx.showToast() =>wx.hideLoading(),受到最后的 wx.hideLoading() 影响,toast 框闪烁一下就消失;

2、解决办法
原理:把 wx.showToast() 放到事件队列的队尾去执行。
我使用的(亲测有效Android 、ios)


fetchJifen() {
wx.showLoading();
api.jifen({
method: 'POST',
data: {
paramType: "2"
},
success: function (res) {
wx.hideLoading();
setTimeout(() => {
wx.showToast({
title: `打卡成功,加${res.data.paramDetail}积分`,
icon: "none",
duration: 3000,
success: (res) => {
setTimeout(() => {
wx.hideToast();
}, 3000)
}
});
}, 200);
}
})
},

看到网上还有以下这种办法,但我试过了没效果

wx.showLoading();
wx.hideLoading();
setTimeout( () => {
wx.showToast({
title: '提示的错误术语',
icon: "none",
});
setTimeout( () =>{
wx.hideToast();
},2000)
},0);

最后

以上就是健壮飞机为你收集整理的小程序wx.showToast在真机上闪烁一下就消失的全部内容,希望文章能够帮你解决小程序wx.showToast在真机上闪烁一下就消失所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部