小程序wx.showToast真机不显示?

简介: 小程序wx.showToast真机不显示?

问题描述

今天在真机上测试发现调用 showToast 不显示,或者闪一下就没了。就觉得很奇怪!经过查找微信文档,发现是与 showLoading 冲突了,因为两者调用的是同个element

代码&问题

async function getScanQRArriveData() {
showLoading({ title: "加载中" });
const { statusCode, message } = await getScanQRArriveDetail(orderNo);
if (statusCode && statusCode == 200) {
setData(data);
} else {
alert(message) // showToast封装方法
}
hideLoading();
}

一开始看上面的代码,感觉一点问题都没有,但是 hideLoading showTast 调用的是同个element,我们按顺序执行一下:

首先显示 showLoading 框;\

然后在调用api的时候,弹框的内容由 showLoading 变成了 showToast;\

结果showToast还没显示,hideLoading 就将弹框隐藏掉了;

解决方案

hideLoading 的调用前置,再调用 showToast 即可。

async function getScanQRArriveData() {
showLoading({ title: "加载中" });
const { data, statusCode, message } = await getScanQRArriveDetail(query.orderNo);
hideLoading();
if (statusCode && statusCode == 200) {
setData(data);
} else {
alert(message) // showToast封装方法
setTimeout(() => reLaunch({ url: "/pages/index/index" }), 2200);
}
}

最后

1、在api请求前需要调用 showLoading,则应该在 success 或者 fail 回调函数内第一行就调用 hideLoading。即使暂时不需要 showToast 操作。也可避免后续需要使用 showToast 而出现问题。

\

2、当 showToastshowLoading 同时使用的时候,多注意两者的调用顺序

3、在使用 reLaunch,switchTab,redirectTo,navigateTo 进行页面跳转的时候,showToast 还没来得及显示,页面就已经跳转了,所以我们可以在此加入定时器进行延迟跳转。

相关文章
|
7月前
|
小程序 JavaScript 前端开发
微信小程序(十三)小程序弹窗wx.showToast及wx.showModal
我这版的小程序中,没有使用到确定取消那样的弹窗,基本上用到的就是,加载中,成功或者失败那种消息提示类的弹窗。 微信本身给我们提供了一个这样的弹窗wx.showToast(Object object),挺好用的,我也没有再去折腾第三方组件的消息提醒弹窗。
116 0
|
小程序
解决微信小程序echarts图表真机预览模糊
解决微信小程序echarts图表真机预览模糊
164 0
|
移动开发 小程序 IDE
Android 小程序接入真机与调试| 学习笔记
快速学习 Android 小程序接入真机与调试。
299 0
Android 小程序接入真机与调试| 学习笔记
|
小程序 网络安全 开发者
解决微信小程序MQTT真机连接问题与合法域名配置SSL问题
为方便大家能快速的解决,我添加几个关键词:emqx 配置websocket ssl 、 emqx 配置ssl 、docker项目管理器添加mqtt 、在docker安装mqtt后如何配置ssl证书、小程序反向代理解决mqtt ssl问题 问题是这样的:小程序的wx对应ws协议,wxs对应wss协议,本篇文章介绍了:1、如何解决真机调试mqtt报错连接不上的问题 2、调试通过后,去除勾选不校验合法域名,连接8084端口失败的解决办法(本文内容) 经过3天的不断尝试,用尽了网上很多办法,对MQT
896 0
解决微信小程序MQTT真机连接问题与合法域名配置SSL问题
|
前端开发 小程序
小程序canvas使用网络图片真机不显示解决方案----可直接使用案例测试
小程序canvas使用网络图片真机不显示解决方案----可直接使用案例测试
678 0
|
小程序 IDE 开发工具
排查指南 | 当 mPaaS 小程序真机扫码时提示 "应用更新错误(50002)"
APP 扫码 mPaas 小程序弹出 toast 信息:应用更新错误(50002)
3381 0
排查指南 | 当 mPaaS 小程序真机扫码时提示 "应用更新错误(50002)"
|
前端开发 Android开发
微信小程序填坑-Android真机环境下的bluebird.js
今天,有朋友反映说,我的微信小程序的例子在andriod真机环境下运行出错,研究调试了半天,发现原来是使用的bluebird.js(Promise实现库)导致的。
913 0
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
17 7
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
16 7
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的美食推荐小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的美食推荐小程序的详细设计和实现(源码+lw+部署文档+讲解等)