uni.addInterceptor('switchTab', {
// tabbar页面跳转前进行拦截
invoke(e) {
return false
},
success(e) {
// console.log(e)
}
})

- 发布:2022-06-22 11:20
- 更新:2025-04-03 11:17
- 阅读:1639
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows10企业版
HBuilderX类型: 正式
HBuilderX版本号: 3.4.15
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: 华为p30
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
uni.addInterceptor('switchTab', {
// tabbar页面跳转前进行拦截
invoke(e) {
return false
},
success(e) {
// console.log(e)
}
})
uni.addInterceptor('switchTab', {
// tabbar页面跳转前进行拦截
invoke(e) {
return false
},
success(e) {
// console.log(e)
}
})
预期结果:
tabbar底部的选中应该也要拦截住
tabbar底部的选中应该也要拦截住
实际结果:
tabbar底部的选中应该也要拦截住
tabbar底部的选中应该也要拦截住
bug描述:
在首页的onshow中使用下面代码,tabbar有两个:首页和个人 ,然后在首页做拦截。
结果:当我点击个人页的时候,页面没有切换到个人页,拦截是非常的成功。但是下面tabbar选中的状态却选中的是个人页
按理来说,选中的状态不是应该也拦截了吗,既然拦截了,那么选中的是首页而非个人页
7 个回复
最佳回复
DCloud_UNI_yuhe
预计 4.61 修复
c***@163.com
朋友,这个问题你解决没,我也遇到这个问题。。
3***@qq.com (作者)
没有解决,这是api层面的,解决不了,除非不用
2022-12-17 11:32
8***@qq.com
我也遇到这个问题了,我解决的思路: 现在没有api更改原生tabbar的选中状态, 使用uni.reLaunch重定向到系统首页
3***@qq.com (作者)
使用这个api目前来看,是肯定解决不了问题的,,,只有用别的方式来处理
2022-12-17 11:33
大良造 - 大良造
到现在还是没有解决,页面拦截了,选中态没有拦截,诶
hhyang - 如有问题,请添加QQ1606726660 备注付费咨询
uni-simple-router 支持拦截,效果在这里
1***@qq.com
解决了,使用我这个方法可以兼容:
判断进入的引导页,在拿到上一次跳转的路由,再通过判断路由是否是 tab 页面路由,使用 switchTab 去执行一次跳转,就可以将图标切换正常了
2***@qq.com
解决没
1***@qq.com
在上面
2024-04-18 10:52