uniapp学习笔记---tabbar

什么是tabbar?

TabBar 是一种用户界面元素,通常用于移动应用程序中的底部导航栏。它通常显示在应用的底部,提供快速导航到应用的不同页面或功能。

TabBar 一般由多个标签组成,每个标签代表一个页面或功能。用户可以通过点击标签来切换页面或执行相关操作。

在移动应用中,TabBar 通常具有以下特点:

- 固定在屏幕底部:TabBar 通常被设计为固定在应用的底部,以提供便捷的访问。
- 多个标签:TabBar 可以包含多个标签,每个标签代表一个页面或功能。
- 切换页面:用户可以通过点击不同的标签来切换到相应的页面或功能。
- 视觉反馈:当用户点击标签时,TabBar 通常会提供一些视觉反馈,例如改变标签的颜色、添加选中状态等,以提示用户当前选择的页面。

在开发移动应用时,你可以使用相应的移动应用开发框架或库来创建和配置 TabBar。这样可以使得开发过程更加简便,并且能够根据需要自定义 TabBar 的样式和功能。

在uniapp中怎么使用tabbar跳转呢?

1.在index.vue文件中methods:{}中添加事务

one(){
				uni.switchTab({
					url:'/pages/index/me',
				})
			},

2.在pages.json中像下面代码进行修改

{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "安全卫士"
			}
		},
		{
			"path" : "pages/index/me",
			"style" : 
			{
				"navigationBarTitleText" : "我的"
			}
		}
	],
	  "tabBar": {
	    "list": [{
	      "pagePath": "pages/index/index",
	      "text": "首页"
	    },{
	      "pagePath": "pages/index/me",
	      "text": "其他"
	    }]
	  },
	"globalStyle": {
		"navigationBarTextStyle": "white",
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#ADD8E6",
		"backgroundColor": "#ADD8E6"
	},
	"uniIdRouter": {}
}

3.其中的

{
			"path" : "pages/index/me",
			"style" : 
			{
				"navigationBarTitleText" : "我的"
			}
		}

"tabBar": {
	    "list": [{
	      "pagePath": "pages/index/index",
	      "text": "首页"
	    },{
	      "pagePath": "pages/index/me",
	      "text": "其他"
	    }]
	  },


是必须添加的,记住位置不要填写错误。

### 如何在 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
发出的红包

打赏作者

爱吃草的汪汪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值