我用hello-uniapp示例,在第一个tabbar加入了如下代码:
onLoad() {
uni.setTabBarBadge({
index: 0,
text: "1",
fail(e) {
uni.showToast({
title: e.errMsg || e.message,
icon: "none"
})
}
})
},
onHide() {
setTimeout(() => {
uni.removeTabBarBadge({
index: 0,
fail(e) {
console.log("e: ", e);
uni.showToast({
title: e.errMsg || e.message,
icon: "none"
})
}
})
}, 300)
},
这个问题很容易复现,望解决一下。
DCloud_UNI_yuhe
你好,非tabbar页面是不能调用tabbar的API的
2024-08-19 17:54
武汉今鱼乐娱网络 (作者)
回复 DCloud_UNI_yuhe: 那有没有统一的钩子函数能监听tabbar界面onShow,onHide这种页面生命周期?我不希望我在tabbar那个界面onShow里去执行设置tabbar相关api,这样很不灵活。实际场景就是有一个im会话列表是tabbar页,在点某个会话详情后,我要更新tabbar badge的值。但是不能用全局js调用。如果后期业务有调整,tabbar界面换掉了这个im会话页,那我又得把这里的代码放到新tabbar那个页面里才能生效。
2024-08-19 18:00
DCloud_UNI_yuhe
回复 武汉今鱼乐娱网络: 你好,暂时还没有相关的钩子,建议你尝试使用自定义tabbar实现
2024-08-20 14:48