李致荣
李致荣
  • 发布:2025-07-10 20:31
  • 更新:2025-07-17 16:35
  • 阅读:115

pages.json设置的tabBar如何根据是否登录跳转相应页面

分类:uni-app x

app在未登录状态下,除了首页,tabBar其他页面点击后都要跳转到登录页面,请问如何实现?

我现在的方法是在onShow加上一个if判断,但是这样会先闪一下原本的页面,很影响体验

2025-07-10 20:31 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

可以录屏看下你描述的效果吗?
onTabItemTap生命周期 可以监听到tabBar被点击

  • 李致荣 (作者)

    比如我的tabbar的my页面,正常登录后点进去my页面是显示my页面该显示的内容,但是如果没登录的话,点击tabbar的my应该是跳到login才对的,但my页面会先闪一下,也就是先显示一下才跳转到login

    2025-07-10 23:14

  • 爱豆豆

    回复 李致荣: 这样做确实会闪一下 你可以模拟一个tabbar 先使用uni.hideTabBar把自带的隐藏掉 然后自己写一个tabbar组件放在页面中模拟原生tabbar 在自己的tabbar组件中监听点击然后判断是否登陆 跳转到login

    2025-07-11 10:22

  • 爱豆豆

    回复 李致荣: 插件市场中有很多类似的组件 你可以看看他们怎么实现的

    https://ext.dcloud.net.cn/search?q=tabbar

    2025-07-11 10:24

  • 李致荣 (作者)

    回复 爱豆豆: 不想用插件,萌新小白看得乱七八糟,有点迷糊呢,难道官方pages.json设置的tabbar就没人考虑过这个问题吗

    2025-07-11 11:03

DCloud_UNI_yuhe

DCloud_UNI_yuhe

可以使用拦截器拦截 switchtab

  • 李致荣 (作者)

    怎么用,哥。萌新一个,可以稍稍点拨一下不

    2025-07-11 11:47

  • 李致荣 (作者)

    回复 DCloud_UNI_yuhe: 请问怎么捕获settabbaritem的触发

    2025-07-11 12:45

  • DCloud_UNI_yuhe

    回复 李致荣: uni.addInterceptor('switchTab', {


    每次点击 tabbar 的时候,都是触发 switchTab , addintercepter 可以在每次点击 switchTab 的·时候,拦截这个事件,然后你就可以写处理逻辑,跳到没有登录页面了

    2025-07-11 14:25

前端开发屋

前端开发屋 - https://communityblog.xyz

自定义TabBar拓展性高

要回复问题请先登录注册