element tbas增加下拉框

使用Tabs 标签页的label插槽,嵌入Dropdown 下拉菜单,实现Tabs 标签页增加下拉切换功能

Tabs 标签页

@tab-click="事件"(这个事件当中到拥有下拉框的tab里时,可以存一下Dropdown 第一个菜单的id,实现点击到拥有下拉框的tab时执行Dropdown 菜单值的查询)

Dropdown 下拉菜单

@command="事件"(这个事件里点击时,直接将Tabs 绑定的v-model值设置为拥有下拉框的tab ID,实现点击Dropdown 菜单时,切换到指定的Tab页)
可以考虑不使用 Dropdown 菜单 手搓一个类似功能的dom,这样方便增加下拉时,下拉菜单是选中,目前我是把选中的下拉菜单名,放入的tab中进行展示,实现区分在哪个下拉菜单中

代码(vue2、vue3同一个思路)

复制代码
//简易版
 <el-tabs v-model="activeName" @tab-click="handleClick">
    <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
    <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
    <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
    <el-tab-pane label="下拉菜单" name="fourth">


        <el-dropdown placement="bottom" @command="handleAllExamList">
              <span class="el-dropdown-link">
                下拉菜单<i class="el-icon-arrow-down el-icon--right"></i>
              </span>
            <el-dropdown-menu slot="dropdown">
            <el-dropdown-item>黄金糕</el-dropdown-item>
            <el-dropdown-item>狮子头</el-dropdown-item>
            <el-dropdown-item>螺蛳粉</el-dropdown-item>
            <el-dropdown-item disabled>双皮奶</el-dropdown-item>
            <el-dropdown-item divided>蚵仔煎</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>


    </el-tab-pane>
  </el-tabs>






//循环版
<el-tabs v-model="activeOne" @tab-click="tabsClick">
              <el-tab-pane :name="tab.value" v-for="(tab, index) in tabList":key="index">
                <span slot="label" v-if="tab.name == '下拉菜单'">


                  <el-dropdown placement="bottom" @command="handleAllExamList">
                    <label class="zsk-css">
                         {
  
  { tab.name }}
                         <span v-if="dropdownDX">({
  
  { dropdownDX.name }})</span> 
                         <i class="el-icon-arrow-down el-icon--right"></i>
                    </label>
                    <el-dropdown-menu slot="dropdown">
                      <el-dropdown-item v-for="menu in dropdownMenu" 
                          :key="menu.value":command="menu.value">

                        {
  
  { menu.name }}

                      </el-dropdown-item>
                    </el-dropdown-menu>
                  </el-dropdown>


                </span>
                <span slot="label" v-else>
                  {
  
  { tab.name }}
                </span>
    </el-tab-pane>
</el-tabs>
相关推荐
虾球xz6 分钟前
CppCon 2018 学习:THE MOST VALUABLE VALUES
开发语言·c++·学习
天天鸭24 分钟前
写个vite插件自动处理系统权限,降低99%重复工作
前端·javascript·vite
江城开朗的豌豆1 小时前
Vue-router方法大全:让页面跳转随心所欲!
前端·javascript·vue.js
阿蒙Amon1 小时前
C#扩展方法全解析:给现有类型插上翅膀的魔法
开发语言·c#
江城开朗的豌豆1 小时前
Vue路由动态生成秘籍:让你的链接'活'起来!
前端·javascript·vue.js
晓得迷路了1 小时前
栗子前端技术周刊第 88 期 - Apache ECharts 6.0 beta、Deno 2.4、Astro 5.11...
前端·javascript·echarts
江城开朗的豌豆1 小时前
在写vue公用组件的时候,怎么提高可配置性
前端·javascript·vue.js
江城开朗的豌豆1 小时前
Vue路由跳转的N种姿势,总有一种适合你!
前端·javascript·vue.js
江城开朗的豌豆1 小时前
Vue路由玩法大揭秘:三种路由模式你Pick谁?
前端·javascript·vue.js
江城开朗的豌豆1 小时前
Vue路由守卫全攻略:给页面访问装上'安检门'
前端·javascript·vue.js