当前位置:首页 > 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 属性禁用特定标签页:

vue结合elementui实现tab

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

标签: vueelementui
分享给朋友:

相关文章

vue 实现回复

vue 实现回复

Vue 实现回复功能 在 Vue 中实现回复功能通常涉及表单提交、数据绑定和列表渲染。以下是实现步骤和代码示例: 数据绑定与表单 <template> <div>…

vue  实现tab

vue 实现tab

实现 Tab 切换功能 在 Vue 中实现 Tab 切换功能可以通过动态组件或条件渲染完成。以下是两种常见方法: 使用 v-if 或 v-show 实现条件渲染 通过绑定 currentTab 变量…

vue 实现href

vue 实现href

Vue 实现 href 的方法 在 Vue 中实现 href 功能可以通过多种方式,具体取决于需求场景。以下是几种常见的方法: 使用 <a> 标签 直接使用 HTML 的 <a&g…

vue 实现全屏

vue 实现全屏

Vue 实现全屏功能 在 Vue 中实现全屏功能可以通过浏览器提供的 Fullscreen API 完成。以下是一个完整的实现方案: 安装依赖(可选) 如果需要跨浏览器兼容性更好,可以安装…

vue实现pwa

vue实现pwa

Vue 实现 PWA 的步骤 Vue 结合 PWA(Progressive Web App)可以创建离线可用的 Web 应用。以下是实现方法: 安装 Vue CLI 并创建项目 确保已安装 Vue…

vue实现tabbar

vue实现tabbar

Vue 实现 TabBar 的方法 使用 Vue Router 实现基础 TabBar 安装 Vue Router 依赖: npm install vue-router 创建路由配置文件(route…