当前位置:首页 > VUE

vue结合elementui实现tab

2026-02-23 10:08:54VUE

Vue 结合 ElementUI 实现 Tab 标签页

安装 ElementUI

确保项目已安装 Vue 和 ElementUI。若未安装,可通过以下命令安装:

npm install element-ui

main.js 中引入 ElementUI:

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

基本 Tab 结构

使用 <el-tabs><el-tab-pane> 组件实现标签页:

<template>
  <el-tabs v-model="activeTab">
    <el-tab-pane label="标签1" name="tab1">内容1</el-tab-pane>
    <el-tab-pane label="标签2" name="tab2">内容2</el-tab-pane>
  </el-tabs>
</template>

<script>
export default {
  data() {
    return {
      activeTab: 'tab1' // 默认激活的标签页
    };
  }
};
</script>

动态生成 Tab

通过 v-for 动态渲染标签页:

<template>
  <el-tabs v-model="activeTab">
    <el-tab-pane 
      v-for="tab in tabs" 
      :key="tab.name" 
      :label="tab.label" 
      :name="tab.name"
    >
      {{ tab.content }}
    </el-tab-pane>
  </el-tabs>
</template>

<script>
export default {
  data() {
    return {
      activeTab: 'tab1',
      tabs: [
        { label: '标签1', name: 'tab1', content: '动态内容1' },
        { label: '标签2', name: 'tab2', content: '动态内容2' }
      ]
    };
  }
};
</script>

自定义 Tab 样式

通过 type 属性设置标签页样式(如 cardborder-card):

<el-tabs v-model="activeTab" type="card">
  <el-tab-pane label="卡片样式" name="tab1">内容1</el-tab-pane>
</el-tabs>

添加 Tab 操作按钮

<el-tabs> 中使用 slot 插入额外按钮:

<el-tabs v-model="activeTab">
  <el-tab-pane label="标签1" name="tab1">内容1</el-tab-pane>
  <el-button slot="right" @click="addTab">新增标签</el-button>
</el-tabs>

<script>
export default {
  methods: {
    addTab() {
      this.tabs.push({
        label: '新标签',
        name: 'newTab',
        content: '新增内容'
      });
    }
  }
};
</script>

监听 Tab 切换事件

通过 @tab-click 监听标签页切换:

<el-tabs v-model="activeTab" @tab-click="handleTabClick">
  <el-tab-pane label="标签1" name="tab1">内容1</el-tab-pane>
</el-tabs>

<script>
export default {
  methods: {
    handleTabClick(tab) {
      console.log('切换到标签:', tab.name);
    }
  }
};
</script>

禁用 Tab

通过 disabled 属性禁用特定标签页:

<el-tab-pane label="禁用标签" name="tab2" disabled>不可用内容</el-tab-pane>

vue结合elementui实现tab

标签: vueelementui
分享给朋友:

相关文章

vue实现无线滚动列表

vue实现无线滚动列表

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

vue状态管理怎么实现

vue状态管理怎么实现

Vue 状态管理实现方法 使用 Vuex(官方推荐) Vuex 是 Vue 的官方状态管理库,适合中大型应用。 安装 Vuex: npm install vuex --save 创建 Store 示…

vue computed 实现

vue computed 实现

computed 的基本用法 在 Vue 中,computed 用于声明计算属性,这些属性基于响应式依赖进行缓存。只有当依赖发生变化时,计算属性才会重新计算。 new Vue({ data: {…

vue实现公式

vue实现公式

在Vue中实现公式展示或计算可以通过多种方式实现,以下为具体方法: 使用模板插值与计算属性 若公式较简单,可直接在模板中使用插值表达式或计算属性。例如计算圆的面积: <template&…

vue功能实现

vue功能实现

Vue 功能实现指南 Vue.js 是一个渐进式 JavaScript 框架,广泛用于构建用户界面。以下是 Vue 功能的常见实现方法。 数据绑定 Vue 的核心功能之一是数据绑定,通过 v-mod…

vue实现通知

vue实现通知

Vue 实现通知功能的方法 使用 Vue 实现通知功能可以通过多种方式实现,以下是一些常见的方法: 使用 Vue 的全局事件总线 在 Vue 中可以通过事件总线实现通知功能。创建一个全局事件总线,然…