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>