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

- 发布:2025-04-29 14:58
- 更新:2025-04-29 18:03
- 阅读:76
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows 11 专业版 24H2
HBuilderX类型: 正式
HBuilderX版本号: 4.56
第三方开发者工具版本号: 1.06.2412050 win32-x64
基础库版本号: 3.7.12
项目创建方式: HBuilderX
示例代码:
操作步骤:
pageA调用
function selectCoupon(item) {
uni.$emit('useCoupon', coupon.value)
uni.navigateBack()
}
pageB调用
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消息提示弹窗
在$on里面弹出toast消息提示弹窗
实际结果:
未弹出
未弹出
bug描述:
uni.$on里调用uni.showToast无效
2 个回复
DCloud_UNI_JBB
这里是执行时机的问题,先执行了$emit 触发了 $on的 回调函数,再进行页面流转,解决办法是 给你的 $on 回调函数里加个定时器
DCloud_UNI_JBB
或者 先回到上一页,在成功的回调函数里 执行 $emit