uniapp开发09-设置一个tabbar底部导航栏且配置icon图标

uniapp开发09-设置一个tabbar底部导航栏且配置icon图标!在实际项目开发中,经常会遇到需要设置icon图标的情况,而且底部导航通常都是有固定位置且内容不会轻易发生变化的。官方提供了自带的tabbar组件。我们来了解一下最基础的入门案例。


1:先看代码,和实际效果图

	"tabBar": {
		"list": [
			{
				"text": "首页",
				"pagePath": "pages/index/index",
				"iconPath": "/static/images/tabbar/首页.png",
				"selectedIconPath": "/static/images/tabbar/首页-h.png"
			},
			{
				"text": "列表",
				"pagePath": "pages/list/list",
				"iconPath": "/static/images/tabbar/信息.png",
				"selectedIconPath": "/static/images/tabbar/信息-h.png"
			},
			{
				"text": "我的",
				"pagePath": "pages/about/about",
				"iconPath": "/static/images/tabbar/我的.png",
				"selectedIconPath": "/static/images/tabbar/我的-h.png"
			}
		]
	}

2:效果图展示:

如图所示,底部tabbar导航栏信息可以正常显示!而且我是配置了一个简单的颜色切换icon图标配图的。

自己没有icon图标素材的朋友们,可以去官方网站下载(需要注册登录才能下载);地址入口:www.iconfont.cn


内容写起来很快,因为HbuildX会自动提示你!自动配齐标签内容。你需要提前输入双引号!在双引号内输入简单的单词开头几个字母,环境就会自动帮你提示!大大提升开发效率。


声明:默认情况下,navigator这种 跳转页面的情况是仅仅是跳转到非Tabbar页面!也就是说,你想跳转到这种一级入口页面的话,需要设置参数:open-type:reLaunch;

只有带着这个参数值,才能实现正常的跳转到tabbar页面去!务必注意了!

### UniApp 中使用 uni-ui 自定义底部导航栏开发基于 UniApp 的应用时,可以利用 `uni-app` 提供的基础组件库 `uni-ui` 来构建应用程序界面。对于自定义底部导航栏的需求,可以通过组合多个内置组件来实现这一功能。 #### 使用 TabBar 组件创建默认样式 为了快速搭建具有基本样式的底部导航栏,推荐先通过配置页面中的 `"usingComponents"` 字段引入官方提供的 `tab-bar` 组件[^1]: ```json { "path": "pages/index/index", "style": { "navigationBarTitleText": "首页" }, "usingComponents": { "van-tabbar": "@dcloudio/uni-ui/lib/tabbar/tabbar" } } ``` 接着,在对应的 WXML 文件里声明该组件并设置初始选项卡列表项数据源属性 `value` 和监听器函数名 `bindchange`: ```html <view class="container"> <!-- 底部标签栏 --> <van-tabbar :active="currentIndex" @change="onChangeTab"> <block wx:for="{{tabs}}" wx:key="index"> <van-tabbar-item> {{item.text}} </van-tabbar-item> </block> </van-tabbar> </view> ``` 同时,在 JS 部分初始化状态变量以及处理切换逻辑方法: ```javascript export default { data() { return { currentIndex: 0, tabs: [ { text: '首页' }, { text: '分类' }, { text: '购物车' }, { text: '我的' } ] }; }, methods: { onChangeTab(e) { const index = e.detail.index; this.currentIndex = index; switch (index){ case 0: console.log('跳转到首页'); break; case 1: console.log('跳转到分类页'); break; // ...其他分支... } } } }; ``` 以上代码片段展示了如何借助 `uni-ui` 实现简单的底部导航效果,并能够响应用户的点击事件完成不同页面间的平滑过渡操作[^2]。 #### 进一步定制外观与交互行为 如果希望进一步调整视觉风格或者增加更多复杂的功能特性,则可以根据实际需求修改 CSS 或者 JavaScript 。例如改变图标颜色、添加动画效果等都可以在此基础上进行扩展优化[^3]。 ```css /* 修改选中状态下文字的颜色 */ .van-tabbar--fixed .van-tabbar__icon.is-active path { fill: red !important; /* 设置为红色 */ } /* 调整未激活状态下图标的透明度 */ .van-tabbar--fixed .van-tabbar__icon path:not(.is-active) { opacity: 0.7; } ``` 上述样式规则允许开发者轻松更改已有的主题配色方案以匹配特定的品牌形象或设计指南要求[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yrldjsbk

如作品有些帮助,请支持一下我

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

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

打赏作者

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

抵扣说明:

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

余额充值