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

相关文章
|
小程序 JavaScript 前端开发
微信小程序(十三)小程序弹窗wx.showToast及wx.showModal
我这版的小程序中,没有使用到确定取消那样的弹窗,基本上用到的就是,加载中,成功或者失败那种消息提示类的弹窗。 微信本身给我们提供了一个这样的弹窗wx.showToast(Object object),挺好用的,我也没有再去折腾第三方组件的消息提醒弹窗。
222 0
|
小程序
解决微信小程序echarts图表真机预览模糊
解决微信小程序echarts图表真机预览模糊
212 0
|
移动开发 小程序 IDE
Android 小程序接入真机与调试| 学习笔记
快速学习 Android 小程序接入真机与调试。
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
995 0
解决微信小程序MQTT真机连接问题与合法域名配置SSL问题
|
前端开发 小程序
小程序canvas使用网络图片真机不显示解决方案----可直接使用案例测试
小程序canvas使用网络图片真机不显示解决方案----可直接使用案例测试
743 0
|
小程序 IDE 开发工具
排查指南 | 当 mPaaS 小程序真机扫码时提示 "应用更新错误(50002)"
APP 扫码 mPaas 小程序弹出 toast 信息:应用更新错误(50002)
3419 0
排查指南 | 当 mPaaS 小程序真机扫码时提示 "应用更新错误(50002)"
|
前端开发 Android开发
微信小程序填坑-Android真机环境下的bluebird.js
今天,有朋友反映说,我的微信小程序的例子在andriod真机环境下运行出错,研究调试了半天,发现原来是使用的bluebird.js(Promise实现库)导致的。
934 0
|
2月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
267 3
|
2月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
52 0
微信小程序更新提醒uniapp
|
4月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
110 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目