Vue3 vant4 底部tabbar图标如何修改为自定义图片

1、引入静态图并作为变量使用

2、制作数据结构用于v-for遍历

记得每个tabbar准备两个图片,默认和选中。

3、safe-area-inset-bottom是vant4移动端底部安全区适配,如果不需要则去掉。

4、tabbar的详细参数请看官方文档 https://vant-ui.github.io/vant/#/zh-CN/tabbar

html 复制代码
<script setup lang="ts">
import { ref } from 'vue'
// 1、引入项目静态图,没有配置路径别名的用../
import HOME_ONE from '@/assets/images/icons/1首页.png'
import HOME_TWO from '@/assets/images/icons/2首页.png'

// 2、做点数据结构,用于页面v-for遍历用
const tabBar = [
	{
		title: '首页',
		to: {
			name: 'home',
		},
		icon: HOME_ONE, // 默认
		icon_acitve: HOME_TWO, // 选中
	},
	{
		title: '商品',
		to: {
			name: 'productList',
		},
		icon: PRODUCT_ONE,
		icon_acitve: PRODUCT_TWO,
	},
	...
]
const active = ref(0) // 默认选中第一个

</script>

<template>
	<van-tabbar v-model="active" fixed route active-color="#af1d36" inactive-color="#707070" safe-area-inset-bottom>
		<van-tabbar-item v-for="(item, index) in tabBar" :key="index" :to="item.to">
			<span>{{ item.title }}</span>
			<template #icon="props">
				<img :src="props.active ? item.icon_acitve : item.icon" />
			</template>
		</van-tabbar-item>
	</van-tabbar>
</template>
相关推荐
喵个咪1 分钟前
Go 语言 CMS 横评:风行 GoWind 对比传统 PHP/Java CMS 核心优势
前端·后端·cms
落魄江湖行4 分钟前
入门篇八 Nuxt4页面元信息与 SEO:让搜索引擎爱上你的网站
前端·typescript·seo·nuxt4
╰つ栺尖篴夢ゞ6 分钟前
Web之深入解析Cookie的安全防御与跨域实践
前端·安全·存储·cookie·跨域
木斯佳10 分钟前
前端八股文面经大全:腾讯前端一面(2026-04-04)·深度解析
前端·ai·鉴权·monorepo
LcGero10 分钟前
TypeScript 快速上手:前言
typescript·cocos creator·游戏开发
code_Bo12 分钟前
kiro生成小程序商业案例
前端·微信小程序·小程序·云开发
yellowbuff13 分钟前
为什么你的 0.01 秒倒计时看起来一卡一卡的?
前端
onebyte8bits16 分钟前
NestJS 系列教程(十八):文件上传与对象存储架构(Multer + S3/OSS + 访问控制)
前端·架构·node.js·状态模式·nestjs
Ruihong18 分钟前
放弃 Vue3 传统 <script>!我的 VuReact 编译器做了一次清醒取舍
前端·vue.js
weixin_4561648320 分钟前
vue3 父组件向子组件传参
前端