1***@qq.com
1***@qq.com
  • 发布:2021-09-15 18:03
  • 更新:2024-07-31 17:51
  • 阅读:6267

【报Bug】errMsg: "setTabBarItem:fail not TabBar page"

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Big Sur 11.5.2 (20G95)

HBuilderX类型: 正式

HBuilderX版本号: 3.2.3

浏览器平台: Chrome

浏览器版本: 93.0.4577.63

项目创建方式: HBuilderX

示例代码:
<template>  
    <view>  
        这是登录页  
        <button type="default" @click="toDoLogin">登录</button>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                onsite: ''  
            }  
        },  
        onLoad(event) {  
            if (event.onsite) {  
                this.onsite = event.onsite  
            }  
        },  
        methods: {  
            toDoLogin() {  
                if (this.onsite === 'L') {  
                    uni.setTabBarItem({  
                      index: 0,  
                      text: '项目汇总',  
                      iconPath: 'static/logo.png',  
                      selectedIconPath: 'static/logo.png',  
                      pagePath: 'pages/home/home',  
                      success(info) {  
                          console.log("设置成功,返回信息:", info)  
                          uni.switchTab({  
                            url: '/pages/home/home'  
                          })  
                      },  
                      fail(err) {  
                        console.log("设置失败,错误信息:", err)  
                      }  
                    })  
                } else {  
                    uni.switchTab({  
                        url: '/pages/index/index'  
                    })  
                }  
            }  
        }  
    }  
</script>  

<style>  

</style>  

操作步骤:

HbuilderX打开项目,运行到浏览器Chrome后,url中添加参数?onsite=L,点击登录,查看控制台信息

预期结果:

动态设置第一个tabBar的路径及名称后成功跳转新页面

实际结果:

不走成功,调用uni.setTabBarItem方法触发失败函数,错误信息:errMsg: "setTabBarItem:fail not TabBar page"

bug描述:

业务逻辑,根据不同用户类型动态设置tabBar第一个的路径及名称

实现步骤:

  1. 登录接口返回onsite
  2. onsite 为L时,动态设置第一个tabBar的路径及名称
  3. 动态设置成功后跳转对应新的首页

    BUG:

    调用uni.setTabBarItem失败,同时测试调用所有设置 tabBar的方法都是失败

    调用失败信息:

    errMsg: "setTabBarItem:fail not TabBar page"

    附件中有示例代码

2021-09-15 18:03 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

大佬 你这个解决了吗

前端小白n号

前端小白n号

setTabBarItem方法 只能在tabbar页面调用

哦吼嗯哼

哦吼嗯哼

则么解决,在线等

HRK_01

HRK_01

已排查出问题:并不是uniapp的问题,而是微信小程序并不支持在非tabBar页面调用该方法
具体可参考
微信官方回答

  • 1***@qq.com

    楼主说的是 uni.setTabBarItem 方法,不是 setTabBarBadge 方法

    2024-06-14 15:36

1***@qq.com

1***@qq.com

已成功排坑,在 h5 端,使用 uni.setTabBarItem 方法必须在 tabbar 页面,否则就会报 errMsg: "setTabBarItem:fail not TabBar page" 的问题,但是该方法在 app 中,非 tabbar 页面也可以正常调用。其他端未尝试(官方文档中并未提到这一点。)

  • j***@163.com

    我在app非tabbar页面调用也有这问题唉

    2024-06-14 16:52

9***@qq.com

9***@qq.com

现在有解决办法了嘛?

要回复问题请先登录注册