uni-app uni.removeTabBarBadge 在非tabbar界面调用时报错 removeTabBarBadge:fail not TabBar page
uni-app uni.removeTabBarBadge 在非tabbar界面调用时报错 removeTabBarBadge:fail not TabBar page
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 1.0 | HBuilderX |
操作步骤:
我用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)
},
这个问题很容易复现,望解决一下。
预期结果:
能正常清除tabbar的badge
实际结果:
不能清除
bug描述:
uni.removeTabBarBadge 在非tabbar界面调用时报错:removeTabBarBadge:fail not TabBar page
更多关于uni-app uni.removeTabBarBadge 在非tabbar界面调用时报错 removeTabBarBadge:fail not TabBar page的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我这个示例只是模拟在非tabbar调用的场景,实际上肯定不是在onHide里面执行。而是在某个非tabbar页面调用的。这样写只是为了demo方便复现。setTimeout延迟后,页面相当于已经切换结束了。
更多关于uni-app uni.removeTabBarBadge 在非tabbar界面调用时报错 removeTabBarBadge:fail not TabBar page的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好,非tabbar页面是不能调用tabbar的API的
回复 DCloud_UNI_yuhe: 那有没有统一的钩子函数能监听tabbar界面onShow,onHide这种页面生命周期?我不希望我在tabbar那个界面onShow里去执行设置tabbar相关api,这样很不灵活。实际场景就是有一个im会话列表是tabbar页,在点某个会话详情后,我要更新tabbar badge的值。但是不能用全局js调用。如果后期业务有调整,tabbar界面换掉了这个im会话页,那我又得把这里的代码放到新tabbar那个页面里才能生效。
回复 武汉今鱼乐娱网络: 你好,暂时还没有相关的钩子,建议你尝试使用自定义tabbar实现