如何使用vant配置Tabbar

  • 作者简介:一名后端开发人员,每天分享后端开发以及人工智能相关技术,行业前沿信息,面试宝典。
  • 座右铭:未来是不可确定的,慢慢来是最快的。
  • 个人主页极客李华-CSDN博客
  • 合作方式:私聊+
  • 这个专栏内容:BAT等大厂常见后端java开发面试题详细讲解,更新数目100道常见大厂java后端开发面试题。
  • 我的CSDN社区:https://bbs.csdn.net/forums/99eb3042821a4432868bb5bfc4d513a8
  • 微信公众号,抖音,b站等平台统一叫做:极客李华,加入微信公众号领取各种编程资料,加入抖音,b站学习面试技巧,职业规划

如何使用vant配置Tabbar

本文讲解如何通过vant配置Tabber功能。

首先肯定是通过vant官网找到Tabber

在这里插入图片描述

然后我们创建一个components文件夹,再到里面创建一个common文件夹,然后创建TabbarView.vue组件
在这里插入图片描述

内容具体如下:

<template>
  <van-tabbar v-model="active">
    <van-tabbar-item icon="home-o" :active-icon="activeIcon('home')" to="/index">首页</van-tabbar-item>
    <van-tabbar-item icon="search" :active-icon="activeIcon('search')" to="/point">知识点</van-tabbar-item>
    <van-tabbar-item icon="friends-o" :active-icon="activeIcon('friends')" to="/exam">考试</van-tabbar-item>
    <van-tabbar-item icon="setting-o" :active-icon="activeIcon('setting')" to="/my">我的</van-tabbar-item>
  </van-tabbar>
</template>

<script>

export default {
  data() {
    return {
      active: 0,
      icons: {
        home: { normal: 'home-o', active: 'home' },
        search: { normal: 'search', active: 'search' },
        friends: { normal: 'friends-o', active: 'friends' },
        setting: { normal: 'setting-o', active: 'setting' },
      },
    };
  },
  methods: {
    activeIcon(icon) {
      return this.active === Object.keys(this.icons).indexOf(icon)
        ? this.icons[icon].active
        : this.icons[icon].normal;
    },
  },
};
</script>

代码详细解释:

需要搭配router下面的index.js使用
在这里插入图片描述

  • HTML 部分
<template>
  <van-tabbar v-model="active">
    <!-- 第一项:图标为 home-o(未选中时的图标),
         选中时的图标为“home”,跳转至“/index”路径 -->
    <van-tabbar-item icon="home-o" :active-icon="activeIcon('home')" to="/index">首页</van-tabbar-item>

    <!-- 第二项:图标为 search(未选中时和选中时都是同一个图标),
         跳转至“/point”路径 -->
    <van-tabbar-item icon="search" :active-icon="activeIcon('search')" to="/point">知识点</van-tabbar-item>

    <!-- 第三项:图标为 friends-o(未选中时的图标),
         选中时的图标为“friends”,跳转至“/exam”路径 -->
    <van-tabbar-item icon="friends-o" :active-icon="activeIcon('friends')" to="/exam">考试</van-tabbar-item>

    <!-- 第四项:图标为 setting-o(未选中时的图标),
         选中时的图标为“setting”,跳转至“/my”路径 -->
    <van-tabbar-item icon="setting-o" :active-icon="activeIcon('setting')" to="/my">我的</van-tabbar-item>
  </van-tabbar>
</template>
  • JavaScript 部分
<script>
export default {
  // 组件内部的数据
  data() {
    return {
      // 当前选中的选项卡序号,默认为第一个(序号从0开始)
      active: 0,

      // 定义各个图标在选中和未选中状态下应该显示的图标名称
      icons: {
        home: { normal: 'home-o', active: 'home' },
        search: { normal: 'search', active: 'search' },
        friends: { normal: 'friends-o', active: 'friends' },
        setting: { normal: 'setting-o', active: 'setting' },
      },
    };
  },

  // 定义组件内部的方法
  methods: {
    // 返回指定图标在当前选中状态下应该显示的图标名称
    activeIcon(icon) {
      // 获取当前选中的选项卡序号
      const activeIndex = Object.keys(this.icons).indexOf(icon);

      // 判断当前图标是否被选中,是则返回对应的选中状态的图标名称,否则返回未选中状态的图标名称
      return this.active === activeIndex ? this.icons[icon].active : this.icons[icon].normal;
    },
  },
};
</script>

整个代码部分使用了 Vue.js 的单文件组件结构,在 template 标签中定义了该组件的 HTML 内容,在 script 标签中定义了该组件的 JavaScript 内容。

其中,组件中包含了四个选项卡,并通过 v-model="active" 将当前选中的选项卡序号绑定到 active 属性,实现了选项卡的切换。

组件中还定义了一个方法 activeIcon(icon),该方法根据当前选中状态返回给定图标的相应名称。其中 icons 对象保存了每个图标在不同状态下应该当前显示名称。在该方法中,先获取当前图标在 icons 对象中的序号,然后根据当前是否选中来判断返回对应的名称。

当我们想要使用的时候只需要按照如下图的方式就可以了。
在这里插入图片描述
如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源,如何写出可以让大厂面试官眼前一亮的简历等内容,让大家更好学习编程,我的抖音,B站也叫极客李华。大家喜欢也可以关注一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于Vue 3和Vant移动端Tabbar使用,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Vue 3和Vant。你可以使用npm或者yarn来进行安装: ``` npm install vue@next npm install vant@next ``` 2. 在你的Vue项目中,创建一个新的组件用于Tabbar,并导入所需的Vant组件: ```vue <template> <div> <van-tabbar v-model="active"> <van-tabbar-item icon="home-o" :to="{ path: '/' }" /> <van-tabbar-item icon="search" :to="{ path: '/search' }" /> <van-tabbar-item icon="friends-o" :to="{ path: '/friends' }" /> <van-tabbar-item icon="setting-o" :to="{ path: '/settings' }" /> </van-tabbar> <!-- 在这里添加你的页面内容 --> </div> </template> <script> import { Tabbar, TabbarItem } from 'vant'; import { defineComponent } from 'vue'; export default defineComponent({ components: { [Tabbar.name]: Tabbar, [TabbarItem.name]: TabbarItem, }, data() { return { active: 0, // 默认选中的tab索引 }; }, }); </script> ``` 3. 在你的路由配置文件中,添加对应的路由信息: ```javascript import { createRouter, createWebHistory } from 'vue-router'; const routes = [ { path: '/', component: Home }, { path: '/search', component: Search }, { path: '/friends', component: Friends }, { path: '/settings', component: Settings }, ]; const router = createRouter({ history: createWebHistory(), routes, }); export default router; ``` 4. 最后,在你的入口文件(main.js)中,引入所需的组件和路由配置: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; import { Tabbar, TabbarItem } from 'vant'; const app = createApp(App); app.use(router); app.use(Tabbar); app.use(TabbarItem); app.mount('#app'); ``` 这样,你就可以在移动端使用VantTabbar组件来实现底部导航栏了。根据你的需求,你可以自定义每个TabbarItem的图标和跳转链接。记得根据你的项目需要,添加页面内容到Tabbar组件的下方。希望这能帮到你!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

极客李华

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

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

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

打赏作者

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

抵扣说明:

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

余额充值