uni-app vue3版本下,底部标签切换失败
uni-app vue3版本下,底部标签切换失败
| 属性 | 值 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.3.9 |
| 手机系统 | Android |
| 手机系统版本号 | Android 12 |
| 手机厂商 | 华为 |
| 手机机型 | 开发工具 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
bug描述:
在hubilderx下,右侧预览页面会出现如下问题
uni.setTabBarItem({
index: index,
pagePath: url,
fail(data) {
console.log(data)
},
complete(data) {
uni.switchTab({
url: url,
fail(data) {
console.log(data)
}
})
}
})
vue2版本没有问题
vue3版本 调用出错 {“errMsg”:“switchTab:fail can not switch to no-tabBar page”}
示例代码:
uni.setTabBarItem({
index: index,
pagePath: url,
fail(data) {
console.log(data)
},
complete(data) {
uni.switchTab({
url: url,
fail(data) {
console.log(data)
}
})
}
})
操作步骤:
uni.setTabBarItem({
index: index,
pagePath: url,
fail(data) {
console.log(data)
},
complete(data) {
uni.switchTab({
url: url,
fail(data) {
console.log(data)
}
})
}
})
更多关于uni-app vue3版本下,底部标签切换失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请提供简单可复现的完整示例(上传附件),方便我们快速排查问题哦。
【bug优先处理规则】https://ask.dcloud.net.cn/article/38139
更多关于uni-app vue3版本下,底部标签切换失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html
已上传
问题复现,已记录后续优化,已加分,感谢您的反馈!
我自己顶一下
我帮你顶一下
按理说这么简单的一个api,不应该出错啊,终究还是国产啊。。。
解决了吗?
顶一下!
我的vue3版本也是这样的错误,请问现在解决了吗?
还没,目前现象是,在vue3模式下,只要用setTabBarItem这个方法设置了pagePath 参数,switchTab 标签切换就会提示失败。
最新的Alpha版本已修复
2024了还是没有解决啊
24遇到一样问题了 = =
25年了,问题依旧存在 @DCloud_UNI_FXY
uni-app: 3.0.0-alpha-4010920240607001 版本可自行添加代码修复。
我的问题是只有在打包H5页面会有这个问题,不知道和我是否一样。
修复代码如下:
window?.__uniRoutes.forEach((item: { path: string; meta: { isTabBar: boolean } }) => {
const url = item.path;
// ucMenu 是tabbar实际要展示的menu
const index = ucMenu.findIndex((i) => /${i.path} === url);
// 如果是实际要展示的menu,就设置isTabbar为true,否则为false
item.meta.isTabBar = index > -1;
});
根本原因就是switchTab的时候会判断,__uniRoutes里面对应跳转的路由的meta.isTabBar是否为true,
如果为true才可进行跳转,否则就会报错。
其他版本需要检查是否只有在H5环境有问题,然后window下面是否有__uniRoutes。


