uniapp小程序使用自定义底部tabbar,并根据用户类型动态切换tabbar数据

1.注意点

在pages.json中配置tabbar如下字段:custom:true ,会自动隐藏原生tabbar,使用自定义的tabbar

2.如何自定义呢

  • 可以使用第三方组件库的tabbar组件,然后二次封装下内部封装逻辑:
    1.点击切换逻辑
    2.根据用户类型,动态切换tabbar数据

3.具体逻辑实现,代码如下

(1)封装的自定义tabbar组件如下:

javascript 复制代码
<template>
	<tui-tabbar :current="propIndex" backgroundColor="#fff" :tabBar="tabBar" color="#000" selectedColor="#FF7D0D"
		@click="tabbarSwitch" :unlined="true"></tui-tabbar>
</template>

<script>
	import {
		globalTabbarData
	} from '@/common/utils.js'
	const app = getApp()
	export default {
		data() {
			return {
				tabBar: globalTabbarData
			}
		},
		props:{
			propIndex: { // 父组件传入激活的tab索引
				default: 0
			}
		},
		created() {
			const userInfo = uni.getStorageSync('userInfo')
			// 用户类型
			if(!userInfo.userType) { // 普通用户
				this.tabBar = globalTabbarData.slice(2)
			} else { // 发布者
				this.tabBar = globalTabbarData.slice(0, 2)
			}
		},
		mounted() {
			uni.switchTab({
				url:  '/' + this.tabBar[this.propIndex].pagePath
			})
		},
		methods: {
			tabbarSwitch(e) {
				uni.switchTab({
					url:  '/' + this.tabBar[this.current].pagePath
				})
			},
		}
	}
</script>

(2)组件使用

javascript 复制代码
<custom-tabbar :propIndex="1" />
相关推荐
88Ra9 分钟前
小程序中获取年月日时分的组件
java·小程序·apache
云起SAAS43 分钟前
抖音私信助手私域用户触达私信群聊小工具小程序开源
小程序·ai编程·看广告变现轻·抖音私信助手·抖音私域用户触达·抖音私信群聊
亮子AI1 小时前
【小程序】微信小程序页面之间数据传递的五种方法
微信小程序·小程序
草字1 小时前
uniapp usb调试鸿蒙一直连接不上。
uni-app
Nan_Shu_6142 小时前
学习:uniapp全栈微信小程序vue3后台 (25)
前端·学习·微信小程序·小程序·uni-app
我很苦涩的2 小时前
微信小程序页面滚动到指定位置
微信小程序·小程序
说私域3 小时前
基于定制开发开源AI智能名片S2B2C商城小程序的社群团购线上平台搭建研究
人工智能·小程序·开源
不知名的前端专家3 小时前
uniapp安卓原生插件实现开启ble Server[外围模式]
android·uni-app·蓝牙
Q_Q5110082853 小时前
python+springboot+uniapp微信小程序“美好食荐”系统 美食推荐 菜谱展示 用户互动 评论收藏系统
spring boot·python·微信小程序·django·flask·uni-app·node.js
java_python源码4 小时前
springboot+vue考研复习小程序(源码+文档+调试+基础修改+答疑)
vue.js·spring boot·小程序