小程序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 还没来得及显示,页面就已经跳转了,所以我们可以在此加入定时器进行延迟跳转。

相关文章
|
5月前
|
小程序 JavaScript 前端开发
微信小程序(十三)小程序弹窗wx.showToast及wx.showModal
我这版的小程序中,没有使用到确定取消那样的弹窗,基本上用到的就是,加载中,成功或者失败那种消息提示类的弹窗。 微信本身给我们提供了一个这样的弹窗wx.showToast(Object object),挺好用的,我也没有再去折腾第三方组件的消息提醒弹窗。
62 0
|
10月前
|
小程序
解决微信小程序echarts图表真机预览模糊
解决微信小程序echarts图表真机预览模糊
136 0
|
移动开发 小程序 IDE
Android 小程序接入真机与调试| 学习笔记
快速学习 Android 小程序接入真机与调试。
278 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
809 0
解决微信小程序MQTT真机连接问题与合法域名配置SSL问题
|
前端开发 小程序
小程序canvas使用网络图片真机不显示解决方案----可直接使用案例测试
小程序canvas使用网络图片真机不显示解决方案----可直接使用案例测试
642 0
|
小程序 IDE 开发工具
排查指南 | 当 mPaaS 小程序真机扫码时提示 "应用更新错误(50002)"
APP 扫码 mPaas 小程序弹出 toast 信息:应用更新错误(50002)
3352 0
排查指南 | 当 mPaaS 小程序真机扫码时提示 "应用更新错误(50002)"
|
前端开发 Android开发
微信小程序填坑-Android真机环境下的bluebird.js
今天,有朋友反映说,我的微信小程序的例子在andriod真机环境下运行出错,研究调试了半天,发现原来是使用的bluebird.js(Promise实现库)导致的。
902 0
|
15天前
|
存储 编解码 小程序
抖音小程序开发中遇见的坑点
在抖音小程序开发中,需注意10大坑点:遵守小程序限制与规范;解决兼容性问题;优化数据加载速度;适应分享功能限制;处理视频播放挑战;优化图片加载显示;管理资源文件;提升用户体验;考虑安全性;及时更新维护。通过测试、优化和遵循官方文档,可克服这些问题,打造优质小程序。
|
25天前
|
小程序 前端开发 API
小程序全栈开发中的多端适配与响应式布局
【4月更文挑战第12天】本文探讨了小程序全栈开发中的多端适配与响应式布局。多端适配涉及平台和设备适应,确保统一用户体验;响应式布局利用媒体查询和弹性布局维持不同设备的布局一致性。实践中,开发者可借助跨平台框架实现多平台开发,运用响应式布局技术适应不同设备。同时,注意兼容性、性能优化和用户体验,以提升小程序质量和用户体验。通过这些方法,开发者能更好地掌握小程序全栈开发。
|
25天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。