当前位置:首页 > VUE

vue实现tab标签

2026-01-07 00:12:46VUE

Vue 实现 Tab 标签的方法

使用动态组件和 v-for 渲染标签

通过 v-for 循环生成标签页标题,结合 v-bind:class 动态切换激活状态。使用 v-show 或动态组件 <component :is="currentTab"> 控制内容显示。

vue实现tab标签

<template>
  <div>
    <div class="tabs">
      <button 
        v-for="tab in tabs" 
        :key="tab.name"
        @click="currentTab = tab.name"
        :class="{ active: currentTab === tab.name }"
      >
        {{ tab.title }}
      </button>
    </div>
    <div class="content">
      <component :is="currentTab" />
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      currentTab: 'Home',
      tabs: [
        { title: '首页', name: 'Home' },
        { title: '关于', name: 'About' }
      ]
    }
  },
  components: { Home, About }
}
</script>

<style>
.active {
  background-color: #42b983;
  color: white;
}
</style>

使用 Vue Router 实现路由标签

结合 Vue Router 的嵌套路由或命名视图,通过 <router-link> 实现标签切换,适合需要 URL 同步的场景。

<template>
  <div>
    <router-link 
      v-for="tab in tabs"
      :key="tab.path"
      :to="tab.path"
      active-class="active"
    >
      {{ tab.title }}
    </router-link>
    <router-view></router-view>
  </div>
</template>

使用第三方库

vue-tabs-componentelement-uiel-tabs,可快速实现复杂功能(如动画、懒加载)。

<template>
  <el-tabs v-model="activeTab">
    <el-tab-pane label="首页" name="home">内容1</el-tab-pane>
    <el-tab-pane label="关于" name="about">内容2</el-tab-pane>
  </el-tabs>
</template>

注意事项

  • 动态组件需提前注册子组件。
  • 路由方式需配置对应路由规则。
  • 样式需自定义或配合 UI 框架的类名。

vue实现tab标签

标签: 标签vue
分享给朋友:

相关文章

vue实现路由导航

vue实现路由导航

路由导航的实现方式 在Vue中,路由导航主要通过Vue Router实现。Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。 基本路由配置 安装Vue Router…

vue的动画实现

vue的动画实现

Vue 动画实现方式 Vue 提供了多种方式实现动画效果,主要通过内置组件和第三方库支持。 使用 Vue 内置过渡组件 Vue 的 transition 和 transition-group 组件…

vue页面分离的实现

vue页面分离的实现

Vue页面分离的实现方法 将Vue页面分离为多个组件或模块,有助于提升代码可维护性和复用性。以下是几种常见的实现方式: 组件化拆分 通过将页面拆分为多个子组件,每个组件负责特定功能或UI部分。使用i…

vue实现导航切换内容

vue实现导航切换内容

Vue实现导航切换内容的方法 在Vue中实现导航切换内容,可以通过以下方式实现: 使用动态组件 动态组件通过<component :is="currentComponent">实现内容切…

在线脑图 vue 实现

在线脑图 vue 实现

在线脑图 Vue 实现方案 使用开源库实现 推荐使用 mind-elixir 或 jsmind 这类开源库,它们专为脑图设计且支持 Vue 集成。 安装依赖: npm install mi…

vue实现无线滚动列表

vue实现无线滚动列表

无限滚动列表的实现方法 在Vue中实现无限滚动列表通常结合监听滚动事件和动态加载数据。以下是几种常见方法: 使用自定义指令 创建自定义指令v-infinite-scroll监听滚动事件:…