uniApp 设置动态tabs(不是自定义tab哈)

我写的不是自定义 tabs 是切换 tab 的图标等

这里可以切换页面绝对路径 必须在 pages 中先定义 被替换掉的 pagePath 不会变成普通页面 (仍然需要使用 uni.switchTab 跳转)

javascript 复制代码
const tabbarConfig = {
  'mk-dev': {
    home: {
      icon: 'static/tabs/mk/home.png',
      activeIcon: 'static/tabs/mk/homeActive.png'
    },
    order: {
      icon: 'static/tabs/mk/order.png',
      activeIcon: 'static/tabs/mk/orderActive.png'
    },
    user: {
      icon: 'static/tabs/mk/user.png',
      activeIcon: 'static/tabs/mk/userActive.png'
    }
  },
  'default': {
    home: {
      icon: 'static/tabs/zs/home.png',
      activeIcon: 'static/tabs/zs/homeActive.png'
    },
    order: {
      icon: 'static/tabs/zs/order.png',
      activeIcon: 'static/tabs/zs/orderActive.png'
    },
    user: {
      icon: 'static/tabs/zs/user.png',
      activeIcon: 'static/tabs/zs/userActive.png'
    }
  }
}

// 这里接收env环境 在app.vue中调用
export const getTabBarConfig = (env) => {
  return tabbarConfig[env] || tabbarConfig.default
}
javascript 复制代码
<script>
  import { getTabBarConfig } from '@/config/tabbar'

  export default {
    onLaunch: function () {
      const env = import.meta.env
      // ---------下面根据环境 切换tabBar图标
      const tabConfig = getTabBarConfig(env.MODE)
      // 动态设置 tabBar 图标
      // 写到这里的时候 记得看下我最开头标明的文字 谢谢
      uni.setTabBarItem({
        index: 0,
        iconPath: tabConfig.home.icon,
        selectedIconPath: tabConfig.home.activeIcon
      })
      uni.setTabBarItem({
        index: 1,
        iconPath: tabConfig.order.icon,
        selectedIconPath: tabConfig.order.activeIcon
      })
      uni.setTabBarItem({
        index: 2,
        iconPath: tabConfig.user.icon,
        selectedIconPath: tabConfig.user.activeIcon
      })
    },
    onShow: function () {
      console.log('App Show')
    },
    onHide: function () {
      console.log('App Hide')
    }
  }
</script>

<style lang="scss">
  /*每个页面公共css */
  @import 'nutui-uniapp/styles/index.scss';
</style>
相关推荐
平头哥~16 分钟前
Day 21 | animation 与 keyframes:把动画从 A 到 B 变成多点编排
前端·css·css3·css学习
宿67410 小时前
vue3-包管理器
前端·vue.js
@PHARAOH10 小时前
WHAT - Remix 入门和基本实践:理解两套产物
前端·remix
mayaairi10 小时前
Vue2 生命周期完全指南:从创建到销毁的8个钩子函数
前端·javascript·vue.js
研☆香11 小时前
一个简单的气泡弹窗制作
javascript
xy345311 小时前
axure9.0 如何打造一个计时器(简单版)
前端·ui·html·axure·原型·产品设计
大模型丫丫11 小时前
用 TypeScript、NestJS 和 LangGraph 搭建一个可控的 AI Agent
javascript·人工智能·typescript
IMPYLH11 小时前
HTML 的 <pre> 元素
前端·javascript·html
shmily麻瓜小菜鸡12 小时前
JavaScript / TypeScript 易踩坑知识点 —— 异步编程类
开发语言·javascript·typescript
tsumikistep12 小时前
【前端】Vue + Axios 跨域问题实战:7070 代理转发 8080 + 401 报错分析(黑马外卖)
前端·javascript·vue.js