uniapp小程序自定义tabbar(覆盖原生tabbar形式)

本文介绍了在uni-app中如何自定义小程序的tabbar,由于原生tabbar无法满足UI需求,通过编写组件覆盖原生tabbar,实现所需效果。
摘要由CSDN通过智能技术生成
功能背景

ui画了一个很好看的tabbar,但是小程序不能依靠其本身的page.json配置实现效果,就需要自己左一个tabbar的组件,盖住原有的tabbar

功能效果图

在这里插入图片描述

实现代码
<template>
	<view class="tabbar-container">
		<view cla
UniApp小程序支持自定义TabBar,可以通过以下步骤实现: 1. 在 `manifest.json` 文件中设置 `tabBar` 字段,例如: ``` "tabBar": { "color": "#666", "selectedColor": "#007aff", "backgroundColor": "#fff", "list": [ { "pagePath": "pages/index/index", "text": "首页", "iconPath": "static/tabbar/home.png", "selectedIconPath": "static/tabbar/home-selected.png" }, { "pagePath": "pages/cart/cart", "text": "购物车", "iconPath": "static/tabbar/cart.png", "selectedIconPath": "static/tabbar/cart-selected.png" }, { "pagePath": "pages/profile/profile", "text": "我的", "iconPath": "static/tabbar/profile.png", "selectedIconPath": "static/tabbar/profile-selected.png" } ] } ``` 2. 在 `App.vue` 中添加 `tabBar` 组件,例如: ```html <template> <div> <tab-bar></tab-bar> <router-view></router-view> </div> </template> <script> import TabBar from '@/components/TabBar.vue' export default { components: { TabBar } } </script> ``` 3. 在 `TabBar.vue` 组件中实现自定义TabBar 样式和交互,例如: ```html <template> <div class="tab-bar"> <div v-for="(item, index) in list" :key="index" class="tab-bar-item" :class="{active: index === selected}" @click="onTabClick(index)" > <img :src="index === selected ? item.selectedIconPath : item.iconPath" alt=""> <span>{{ item.text }}</span> </div> </div> </template> <script> export default { props: { list: { type: Array, required: true }, selected: { type: Number, required: true } }, methods: { onTabClick(index) { if (index !== this.selected) { uni.switchTab({ url: this.list[index].pagePath }) } } } } </script> <style scoped> .tab-bar { position: fixed; bottom: 0; left: 0; right: 0; display: flex; justify-content: space-around; align-items: center; height: 50px; background-color: #fff; box-shadow: 0 -1px 10px rgba(0, 0, 0, .1); } .tab-bar-item { display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 14px; color: #666; } .tab-bar-item img { width: 24px; height: 24px; margin-bottom: 4px; } .tab-bar-item.active { color: #007aff; } </style> ``` 这样就可以实现自定义TabBar 了。需要注意的是,使用自定义TabBar 后,原生TabBar 将不再显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_小郑有点困了

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

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

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

打赏作者

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

抵扣说明:

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

余额充值