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>
相关推荐
jinanwuhuaguo9 分钟前
OpenClaw执行奇点——因果链折叠与责任悬置的时间哲学(第十九篇)
前端·人工智能·安全·重构·openclaw
为美好的生活献上中指14 分钟前
本地虚拟机部署redis集群
前端·redis·ubuntu·bootstrap·html·redis集群
vipbic14 分钟前
厌倦了重度耦合?我用 Vue3 撸了一个真·插件化中后台框架
vue.js·前端框架·前端工程化
ConardLi32 分钟前
开源我的 GPT-Image2 生图 Skill,附大量玩法指南
前端·人工智能·后端
我是Superman丶37 分钟前
Antigravity Retry 自动重试脚本
前端·javascript·vue.js
是大强1 小时前
nvm安装node成功npm失败
前端·npm·node.js
im_AMBER1 小时前
Leetcode 162 除了自身以外数组的乘积 | 接雨水
开发语言·javascript·数据结构·算法·leetcode
\xin1 小时前
pikachu自编CSRF(GET),CSRF(POST),CSRF(token)
前端·csrf
是大强1 小时前
前端一个项目用node20 一个项目用node14 怎么切换
前端
不老刘1 小时前
Git Cherry-Pick:微前端架构下的“精准医疗”与最佳实践
前端·git