1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 小程序wx.showToast在真机上闪烁一下就消失

小程序wx.showToast在真机上闪烁一下就消失

时间:2021-07-26 19:35:32

相关推荐

小程序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);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。