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>
相关推荐
2401_8604947010 小时前
在React Native鸿蒙跨平台开发中实现一个计数排序算法,如何使用一个额外的数组来统计每个值的出现次数,然后根据这个统计结果来重构原数组的顺序
javascript·react native·react.js·重构·ecmascript·排序算法
222you10 小时前
vue目录文件夹的作用
前端·javascript·vue.js
月屯10 小时前
pandoc安装与使用(html、makdown转docx、pdf)
前端·pdf·html·pandoc·转docx、pdf
qq_124987075310 小时前
基于Spring Boot的阳光餐盘点餐系统(源码+论文+部署+安装)
java·vue.js·spring boot·后端·毕业设计
我爱学习_zwj10 小时前
Node.js模块化入门指南
前端·node.js
Shirley~~10 小时前
开源项目PPtist分享
前端·typescript·vue
yanghuashuiyue10 小时前
TypeScript是JavaScript超集-百度AI灵魂拷问
前端·javascript·typescript
光头程序员10 小时前
Vite 前端项目 - CSS变量智能提示
前端·css
克喵的水银蛇10 小时前
Flutter 通用下拉选择器:DropdownSelector 一键实现自定义下拉交互
开发语言·javascript·ecmascript
木易 士心10 小时前
深入理解 TypeScript 声明文件(.d.ts):类型系统的桥梁
前端·javascript·typescript