uniapp-tabBar 配置

tabBar 配置

1、创建tabBar页面

项目中的 tabBar 页面设计了有两个分别是主页和用户中心

  • 在 pages 下面创建 : tabBar 页面需要放到主包中
  • 在 pages.json 当中配置页面路由
    在这里插入图片描述
//pages.json
{
	"easycom": {
		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
	},
	"pages": [{
			"path": "pages/sys/login/index",
			"style": {
				"navigationBarTitleText": "登录",
				"navigationStyle": "custom" // 隐藏系统导航栏
			}
		},

		{
			"path": "pages/sys/user/index",
			"style": {
				"navigationBarTitleText": "个人中心",
				// "navigationBarBackgroundColor": "#5582F3",
				// "navigationBarBackgroundColor": "#F5F5F5",
				"navigationBarTextStyle": "white"
			}
		},
		{
			"path": "pages/sys/home/index",
			"style": {
				"navigationBarTitleText": "工作台-首页",
				"enablePullDownRefresh": true,
				"app-plus": {
					"pullToRefresh": {
						"support": true,
						"color": "#2979ff", //小圈圈的颜色
						"style": "circle" //小圈圈的样式
					}
				}
			}
		}
	],
	"subPackages": [
		// 设备分包
		// 用户分包			
	],
	....
}
2. 配置tabBar

在 pages.json 文件中在 pages 平级新增 tabBar 的配置:

	"tabBar": {
		"color": "#333333",
		"selectedColor": "#4094ff",
		"backgroundColor": "#ffffff",// 底部 tabBar 背景色
		"borderStyle": "white",
		"list": [{
				"pagePath": "pages/sys/home/index",
				"text":"首页",
				"iconPath": "static/common/tabbar/home.png",
				"selectedIconPath": "static/common/tabbar/home-active.png"
			},
			{
				"pagePath": "pages/sys/user/index",
				"text":"个人中心",
				"iconPath": "static/common/tabbar/me.png",
				"selectedIconPath": "static/common/tabbar/me-active.png"
			}
		]
	}

在这里插入图片描述
这里的首页和个人中心的图片,是放在 static/common/tabbar 目录中的图片(可以在阿里矢量图标库 下载),不是字体图标
在这里插入图片描述

tabBar其他的属性
“color”:“#FFFFFF”, 默认字体
“selectedColor”:“#ff0001”, 选中字体
“backgroundColor”:“blue”, 背景颜色

uniapp底部tabBar图标使用字体图标

uni-app的tabBar为什么不让自定义文字大小在这里插入图片描述在这里插入图片描述

### 如何在 UniApp 项目中使用 `van-tabbar` 组件 #### 安装 Vant Weapp 组件库 为了能够在 UniApp 中使用 `van-tabbar`,首先需要安装 Vant Weapp 组件库。可以通过 npm 或者 yarn 来完成这一步骤。 ```bash npm install @vant/weapp -D --production ``` 或者 ```bash yarn add @vant/weapp -D ``` #### 修改 `pages.json` 文件配置 TabBar 为了让应用程序支持底部标签栏,在项目的根目录下找到并编辑 `pages.json` 文件来设置全局的 tabBar 属性[^3]: ```json { "globalStyle": { ... }, "tabBar": { "color": "#000", "selectedColor": "#1aad19", "borderStyle": "black", "backgroundColor": "#fff", "list": [ { "pagePath": "pages/index/index", "text": "首页" }, { "pagePath": "pages/logs/logs", "text": "日志" } ] } } ``` #### 使用 `van-tabbar-item` 组件 接下来可以在对应的页面文件里引入 `van-tabbar-item` 并编写相应的代码片段以实现具体的功能逻辑[^1]: 对于每一个要显示为 tab 的页面(比如上面提到的 `index.vue` 和 `logs.vue`),都需要在其 `<template>` 标签内加入如下所示的内容: ```html <template> <!-- 其他 HTML 结构 --> <van-tabbar v-model="active"> <van-tabbar-item icon="home-o">首页</van-tabbar-item> <van-tabbar-item icon="logistics-o">物流</van-tabbar-item> </van-tabbar> <!-- 更多HTML结构 --> </template> <script> import '@vant/weapp/dist/style.css'; export default { data() { return { active: 0, }; }, }; </script> ``` 上述例子展示了如何通过绑定属性 `v-model` 控制当前激活项的状态,并利用子组件 `van-tabbar-item` 渲染各个选项卡的文字描述及其图标。 #### 初始化 App 设置 最后不要忘记调整 `App.vue` 文件中的启动函数以便更好地适配不同平台的需求[^4]: ```javascript onLaunch: function () { console.log('App Launch'); uni.getSystemInfo({ success(res) { // 获取状态栏高度等信息... // 如果是在微信小程序环境下执行特定操作 #ifdef MP-WEIXIN const menuRect = wx.getMenuButtonBoundingClientRect(); this.globalData.StatusBarHeight = res.statusBarHeight; this.globalData.CustomBarHeight = menuRect.bottom - res.statusBarHeight + (menuRect.top === 4 ? 0 : 8); #endif // 将这些值存储到 globalData 或其他合适的地方供后续访问 }.bind(this), }); }, ``` 这段脚本会根据运行环境自动计算出顶部安全区域的高度,从而确保自定义导航栏不会被遮挡。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值