anything_
anything_
  • 发布:2025-04-29 14:58
  • 更新:2025-04-29 18:03
  • 阅读:76

【报Bug】uni.$on里调用showToast无效

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 专业版 24H2

HBuilderX类型: 正式

HBuilderX版本号: 4.56

第三方开发者工具版本号: 1.06.2412050 win32-x64

基础库版本号: 3.7.12

项目创建方式: HBuilderX

示例代码:

uni.$on('useCoupon', data => {
uni.showToast({
icon:'none',
mask:true,
title:'支付金额未满足使用条件'
})
})

操作步骤:

pageA调用
function selectCoupon(item) {
uni.$emit('useCoupon', coupon.value)
uni.navigateBack()
}

pageB调用
uni.$on('useCoupon', data => {
uni.showToast({
icon:'none',
mask:true,
title:'支付金额未满足使用条件'
})
})

预期结果:

在$on里面弹出toast消息提示弹窗

实际结果:

未弹出

bug描述:

uni.$on里调用uni.showToast无效

2025-04-29 14:58 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

这里是执行时机的问题,先执行了$emit 触发了 $on的 回调函数,再进行页面流转,解决办法是 给你的 $on 回调函数里加个定时器

DCloud_UNI_JBB

DCloud_UNI_JBB

或者 先回到上一页,在成功的回调函数里 执行 $emit

uni.navigateBack({  
    success() {  
      uni.$emit('useCoupon', coupon.value)  
    }  
})

要回复问题请先登录注册