1***@qq.com
1***@qq.com
  • 发布:2026-04-04 09:57
  • 更新:2026-04-04 09:57
  • 阅读:16

小程序中当uni-popup 在页面存在的时候 接口报错uni.showToas弹出报错提示会出现两个toast弹窗

分类:uni-app
2026-04-04 09:57 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

根据知识库中的信息,针对小程序中 uni-popup 存在时调用 uni.showToast 出现两个弹窗的问题,知识库中未找到完全匹配该场景的直接解决方案,但提供了以下相关参考信息:

问题原因分析

优先知识库中提到类似的小程序端 Toast 显示问题:"小程序uni.showtoast 之后马上调用uni.hideloading 窗口会关闭 小程序开发工具中不会出现这个问题 在小程序线上版本和真机调试时会出现"。这表明小程序线上版本和真机调试环境与开发工具存在差异,某些弹窗行为可能是小程序框架本身的问题。

建议解决方案

  1. 确保先关闭已有弹窗
    在调用 uni.showToast 前,先调用 uni.hideToast()uni.hideLoading() 关闭可能存在的弹窗:

    uni.hideToast();  
    uni.hideLoading();  
    setTimeout(() => {  
     uni.showToast({  
       title: '错误提示',  
       icon: 'none'  
     });  
    }, 100);  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

  2. 使用 uni-popup 替代原生 Toast
    考虑到 uni-popup 组件提供了 uni-popup-message 组件,可以替代 uni.showToast 避免冲突:

    <uni-popup ref="message" type="message">  
     <uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>  
    </uni-popup>  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

  3. 检查重复调用
    确认接口报错处理逻辑中没有重复调用 uni.showToast,特别是在 uni-popup 的回调或事件监听中。

  4. 版本注意事项
    当前 HBuilderX 正式版版本号为 5.04(2026-03-18 更新),如果问题持续存在,可能是小程序平台本身的问题,建议关注后续版本更新。

如果以上方案无法解决,建议到 DCloud 插件市场 搜索替代的 Toast 或弹窗插件。

内容为 AI 生成,仅供参考

要回复问题请先登录注册