uniapp 开发小程序的时候使用自定义 tabbar 时出现切换页面闪烁的情况

问题:在使用自定义组件的时候可以看到页面切换明显的闪烁, 这种体验是很不好的, 当然最好的方式就是使用原生导航栏, 不要搞花里胡哨的东西。

来看下体验不好的效果

优化调整

先说思路,就是仍然设置原生 tabbar, 在应用启动的时候主动隐藏原生 tabbar, 然后使用自定义组件来进行位置占位。

在 page.json 里面设置对应的tabbar字段,

json 复制代码
  "tabBar": {
    "color": "#727477",
    "selectedColor": "#196FFF",
    "borderStyle": "black",
    "backgroundColor": "#FFFFFF",
    "height": "105rpx",
    "fontSize": "20rpx",
    "list": [
      {
        "pagePath": "pages/home/home",
        "text": "首页"
      },
      {
        "pagePath": "pages/explore/explore",
        "text": "发现"
      },
      {
        "pagePath": "pages/training/training",
        "text": "练习"
      },
      {
        "text": "我的",
        "pagePath": "pages/my/my"
      }
    ]
  },

然后在 app.vue 文件里 launch 生命周期的时候隐藏原生的tabbar

ts 复制代码
onLaunch (() => {
  uni.hideTabBar()
})

最后在每个 tab 页面添加你自定义的 tabbar 组件, 自定义 tabbar 组件里面要使用 uni.switchTab 进行切换页面。

总结:本质上只不过是在原生 tabbar 页面添加了自定义 tabbar 组件, 我们只是把原生的隐藏了,然后用自定义组件进行了占位

可以看到优化后的效果, 在首次切换到我的页面的时候仍会有闪烁, 但是首次加载过后再次切换到页面就不再会有闪烁的问题了。

相关推荐
赵小哥要冲啦2 小时前
社区邻里互助小程序从 0 到 1 复盘:需求拆解与信任机制设计
java·小程序·需求分析
代立冬7 小时前
927 个 PR:Apache SeaTunnel 3.0.0 正式发布!AI 时代,数据集成正在迎来新的可能
人工智能·apache
河北清兮网络科技7 小时前
石家庄做一套企业知识库系统多少钱?2026 报价明细
小程序·短剧app·广告联盟
Ai-_Man7 小时前
Coze扣子还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·1024程序员节
微订校园外卖平台8 小时前
新手做校园外卖平台:小程序启动顺序与订单链路验收
小程序·外卖系统·本地生活·微订
FX1317887KP_1 天前
KET口语Part 2看图对话怎么练?“观察—提问—回应”;三步法讲透
小程序·ket口语·pet口语·fce备考·剑桥英语
沃达德软件1 天前
智慧教育教学资源管理系统(PC端+微信小程序)
微信小程序·小程序
CHB1 天前
别再问uni-app x蒸汽模式是否成熟了,已经有大量App案例上架应用商店了
uni-app
zhongben_keji1 天前
家政小程序开发全解:经营模式、品类矩阵、派单约束与信用核验
线性代数·矩阵·apache
阿俊-全栈开发1 天前
LikeShop 小程序商城首页可配置弹窗的设计与实现(Java + uni-app)
小程序·状态模式·likeshop·likeshop开源商城