uni-app中uni.showToast组件的延迟时间无效,很快就结束显示了

uni-app中uni.showToast组件的延迟时间无效,很快就结束显示了

类别 信息
产品分类 uniapp/小程序/微信
PC开发环境 Windows
操作系统版本 win10
HBuilderX类型 正式
HBuilderX版本 3.3.0
第三方工具版本 1.05.2105170
基础库版本 最新的
项目创建方式 HBuilderX

操作步骤:

uni.showToast({
title: '标题',
duration: 2000
});

预期结果:

弹出 ‘标题’ 两字两秒中后再消失

实际结果:

弹出 ‘标题’ 两字立马消失

bug描述:

uni.showToast({
title: '标题',
duration: 2000
})  

没有两秒的时间,1秒不到就结束了,很快很快!求uni大佬解决,前两天还是好的!


更多关于uni-app中uni.showToast组件的延迟时间无效,很快就结束显示了的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

未复现此问题,写个5s试下

更多关于uni-app中uni.showToast组件的延迟时间无效,很快就结束显示了的实战教程也可以访问 https://www.itying.com/category-93-b0.html


开发者工具上没问题,真机上调试有问题,包括现在正式上线的版本在真机上也有这种问题

回复 7***@qq.com: 前两天还是好的,是更新了HX版本才出现的吗?

Android 11 Redmi K40真机调试正常。最好新建个空项目真机调试看下

根据你的描述,uni.showToastduration 参数设置无效,弹窗快速消失,这通常与以下原因有关:

  1. 页面跳转或组件卸载:最常见的原因是 showToast 显示后,立即触发了页面跳转(如 uni.navigateTo)或组件卸载。在小程序环境中,页面切换会强制关闭所有弹窗,导致 Toast 提前消失。请检查 showToast 后是否有跳转逻辑。

  2. 异步操作未正确处理:如果 showToast 在异步操作(如网络请求)中调用,且未通过 async/await 或 Promise 确保弹窗持续显示,可能因异步任务完成过快而提前关闭。但根据你的代码,duration 已设为 2000ms,理论上应独立计时。

  3. 基础库或HBuilderX版本问题:你使用的是较新的 HBuilderX 3.3.0 和最新基础库,但某些版本可能存在兼容性问题。可尝试以下步骤:

    • 清除 HBuilderX 缓存:点击菜单栏「运行」->「清理缓存」->「清理项目缓存」。
    • 重启 HBuilderX 并重新运行项目。
    • 如问题仅出现在微信小程序,检查微信开发者工具是否更新至最新版,并尝试切换基础库版本(如降至稍旧版本测试)。
  4. 代码冲突:检查项目中是否有其他全局逻辑(如自定义拦截器、公共方法)覆盖了 uni.showToast 的行为,或重复调用了 uni.hideToast

建议排查步骤

  • showToast 后添加 setTimeout 延迟跳转,测试是否为页面切换导致:
    uni.showToast({ title: '标题', duration: 2000 });
    setTimeout(() => { uni.navigateTo({ url: '/pages/test' }) }, 2000);
回到顶部