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

4 回复

我这个示例只是模拟在非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实现

回到顶部