我写的不是自定义 tabs 是切换 tab 的图标等
这里可以切换页面绝对路径 必须在 pages 中先定义 被替换掉的 pagePath 不会变成普通页面(仍然需要使用 uni.switchTab 跳转)
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
}
<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>