Element ui中menu组件(el-menu/el-menu-item/el-submenu/template) 层级结构和用法

2023-11-17

(此篇文章写下的时间是2020年,所以如今Element UI都更新了不知道多少版了,肯定会有些许变化,请勿完全照搬照抄,虽然可能这部分代码没什么大的变动,但还是要以官方文档为准,此文仅仅是借鉴,理解具体思路,然后再按照官方的例子来应用到自己的项目中)

初学者,刚接触,用到不知道怎么回事刚接触,今天就特意各种粘贴复制示例代码,终于自己试出来了,具体的结构层级关系。

看完就能知道这个menu的结构上怎么组织和使用

1. 我准备的示例:

先上代码,格式加了空行,方便看结构:(前期模板组件的导入和注册都略过了)

<el-menu
default-active="2"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
background-color="#545c64"
text-color="#fff"
active-text-color="#ffd04b">

      <el-submenu index="1">
        <template slot="title">
          <i class="el-icon-location"></i>
          <span>导航一</span>
        </template>

        <el-menu-item-group>
          <template slot="title">分组一</template>
          <el-menu-item index="1-1">选项1</el-menu-item>
          <el-menu-item index="1-2">选项2</el-menu-item>
        </el-menu-item-group>

        <el-menu-item-group title="分组2">
          <el-menu-item index="1-3">选项3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="1-4">
          <template slot="title">选项4</template>
          <el-menu-item index="1-4-1">选项1</el-menu-item>
        </el-submenu>
      </el-submenu>


      <el-menu-item index="2">
        <i class="el-icon-menu"></i>
        <span slot="title">导航二</span>
      </el-menu-item>

      <el-menu-item index="3" disabled>
        <i class="el-icon-document"></i>
        <span slot="title">导航三</span>
      </el-menu-item>

      <el-menu-item index="4">
        <i class="el-icon-setting"></i>
        <span slot="title">导航四</span>
      </el-menu-item>

</el-menu>

2. 好戏正式开始:

看上面的示例代码, 最外面一层是由 <el-menu> </el-menu> 标签 包裹的, 先从简单的开始,看倒数一二三,后面那三个导航,因为都是最简单的结构,

仅一级导航栏

我取用 导航二 来做演示。 用 <el-menu-item> </el-menu-item> 标签 包裹的 , 里面的标签 <i> </i> 是图标没什么说的, 那个标签 <span> </span>  就是导航栏最顶上一层的一级导航(没有子导航栏的),我们来看一下效果:

<el-menu
  default-active="1"
  background-color="#333744"
  text-color="#fff"
  active-text-color="#ffd04b">


      <el-menu-item index="2">
         <i class="el-icon-menu"></i>
         <span slot="title">导航二</span>
      </el-menu-item>


</el-menu>

只有一个导航栏,没别的了

总结,当你想要的导航栏只有一级的时候,我们就仅采用我这种结构的ok了,  <el-menu-item></el-menu-item> 包裹要显示的以及导航栏内容

一级导航栏 + 一级导航栏下的子导航栏

观察最开始 官方element ui 给的案例,应该是和第一个导航栏有关,我们拿那一部分做尝试,

这个是用 <el-submenu></el-submenu> 标签包裹的 

<el-menu
   default-active="1"
   background-color="#333744"
   text-color="#fff"
   active-text-color="#ffd04b"
>

          
    <el-submenu index="1">
          一级导航栏+子导航
    </el-submenu>
        

</el-menu>

上面竟然没有显示我要他显示的内容,点开后的效果见下图

竟然我要的一级导航标题到了里面, 不对不对, 再回头看下示例,

先试下红色圈出的部分,添加上template 看下

<el-menu
   default-active="1"
   background-color="#333744"
   text-color="#fff"
   active-text-color="#ffd04b"
   >
       
  
     <el-submenu index="1">

        <template slot="title">
           <i class="el-icon-location"></i>
           <span>一级dhl+zdh</span>
        </template>
        子导航栏

     </el-submenu>


</el-menu>

  点开后: 看起来还ok吧,

但就是子导航栏的格式有点问题,不是我们想要的效果,不过一级导航栏的显示是有了,看来这个 template 标签是用来控制 submenu 的 对应的 那级的 导航栏内容的显示。

然后我们开始尝试 黄色框里面的部分:

<el-menu
    default-active="1"
    background-color="#333744"
    text-color="#fff"
    active-text-color="#ffd04b"
    >
          
    <el-submenu index="1">
            
        <template slot="title">
            <i class="el-icon-location"></i>
            <span>一级dhl+zdh</span>
        </template>

        子导航栏

        <el-submenu index="1-4">
              <template slot="title">选项4</template>
              <el-menu-item index="1-4-1">选项1</el-menu-item>
        </el-submenu>

     </el-submenu>
        

</el-menu>

点开后: 出了个选项一,

看来 submenu 标签就是用来控制 多一层 子导航栏, 而里面的 template 标签就是用来设置 那一级导航栏 的标题内容的,

而实际的子导航栏,就单纯的一个导航栏【没有子导航栏那种】, 使用 el-menu-item 标签来实现

一级导航栏+子导航栏组

现在我们再回过头来看导航组

官网示例提供了两种 初始化 导航组的方式

通过el-menu-item-group组件可以实现菜单进行分组,分组名可以通过title属性直接设定,也可以通过具名 slot 来设定

<el-menu
    default-active="1"
    background-color="#333744"
    text-color="#fff"
    active-text-color="#ffd04b"
    >
          
    <el-submenu index="1">
           
        <template slot="title">
           <i class="el-icon-location"></i>
           <span>选项一</span>
        </template>


        <!-- 第一种分组 -->
        <el-menu-item-group>
            <template slot="title">选项一 - 分组一</template>
            <el-menu-item index="1-1">分组一 选项A</el-menu-item>
            <el-menu-item index="1-2">分组一 选项B</el-menu-item>
        </el-menu-item-group>


        <!-- 第二种分组 -->
        <el-menu-item-group title="选项一 - 分组二">
              <el-menu-item index="1-3">分组二 选项C</el-menu-item>
        </el-menu-item-group>

            

        <el-menu-item index="1-4">选项D</el-menu-item>
            
        <el-submenu index="1-5">
              <template slot="title">选项E</template>
              <el-menu-item index="1-5-1">选项E - 选项1</el-menu-item>
        </el-submenu>

    </el-submenu>
</el-menu>

第一种和第二种分组方式的差别:

第一种以 template 标签方式 声明了组的名称

第二种以 munu-item-group 的  title 属性的方式 声明

里面的子导航栏 都是采用  <el-menu-item> 标签 来声明的,这里都一样

上面就是我分析的结构,根据具体情况看看你需要哪种结构

然后就是说一下属性:

属性: 

* default-active:表示当前active的菜单项的编号 
* index:类型为字符串,在每一个el-menu-item组件上都有一个编号,给default-active标记

参考: element-ui使用导航栏跳转路由用法

* slot:slot ,就是插入的意思

参考: element ui slot

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Element ui中menu组件(el-menu/el-menu-item/el-submenu/template) 层级结构和用法 的相关文章

随机推荐

  • 线性代数 - 特征向量和特征值

    今天在看到这个马汉诺拉距离的时候 又看到了这个东西 就是利用特征值来进行协方差方向上的伸缩 突然感觉到了线性代数的作用了 但是实际上 我今天看到了非常多的内容 但是都没有吸收完 很多内容都是线性代数的东西 但是这些东西我都忘了 这里先挖个坑
  • Java8 stream对List<Map<String,Object>>常用的数据处理

    java 8 在推出stream 之后 对于集合等数据的处理用了就回不去了 在此处做个笔记 查数据 List
  • 数据库出现“评估期已过”问题怎么解决?

    问题 SQL server 2012年版 打开SQL Server时 出现问题 评估期已过 有关如何升级您的测试版软件的信息 请访问http www microsoft com sql howtobuy 问题原因 SQL Server安装时
  • Android Automotive概述

    Android开发者的新赛道 在智能手机行业初兴起时 包括BAT在内许多传统互联网企业都曾布局手机产业 但是随着手机市场的基本定型 造车似乎又成了各大资本下一个追逐的方向 百度 小米先后宣布造车 阿里巴巴则与上汽集团共同投资创立了 面向汽车
  • threejs-纹理贴图

    前言 threejs中的纹理贴图使用方法 参考 threejs开发指南 文章目录 前言 纹理的基本使用 纹理的常用属性 常用纹理的种类 1 普通贴图map 2 凹凸贴图bumpMap 3 法线贴图normalMap 4 位移贴图displa
  • 大数据量JSONObject.fromObject性能问题(大数据传给前台)

    最近项目中我负责了一个jms打印log信息的功能模块 大体需求是 用jms接受log信息 然后前台请求的时候 发给前台最新的log信息 前台会不断的刷新获取数据 个人思路是写一个静态的固定长度的list保存log信息 如果list满了清空
  • 通信端口感叹号_PCI简易通讯控制器有黄色感叹号怎么办?

    近日有网友新安装了Win7系统 安装完成后感觉电脑都顺畅了很多 不过在打开设备管理器的时候发现 在其他设备下的PCI简易通讯控制器有个黄色感叹号 出现这个感叹号也意味着这个控制器的驱动未安装 对此我们该如何解决呢 解决方法 1 打开设备管理
  • android 功能模块之通讯模块三

    Android通讯录开发之解决快速搜索联系人线程同步问题 2013年1月13日 上一篇博客介绍的是如何实现搜索 在PhoneUtil中已经定义好了search方法 开发者直接拿来用就ok了 但用的时候肯定会遇到线程同步问题 如何解决搜索的时
  • 区块链节点和网络的实现

    文章目录 1 介绍 1 1 区块链的基本概念回顾 1 2 区块链节点的作用和重要性 1 3 区块链网络的组成和结构 2 实现区块链节点 2 1 节点的角色和功能 2 2 使用Python创建区块链节点 2 3 定义区块和区块链数据结构 2
  • linux 内核笔记之watchdog

    watchdog 简而言之 watchdog是为了保证系统正常运行 或者从死循环 死锁等一场状态退出的一种机制 看门狗分硬件看门狗和软件看门狗 硬件看门狗是利用一个定时器电路 其定时输出连接到电路的复位端 程序在一定时间范围内对定时器清零
  • Vscode中JS输出乱码问题的解决

    一直很好用vscode突然不好用了 原来输出正常的JS代码在输出中都是乱码 于是上网查答案 试了很多奇奇怪怪的答案 然而没有一款能够解决我这个问题 仔细琢磨 既然以前好用 现在不好用 应该是某个电脑操作 误伤 友军 VScode执行代码原理
  • 五、Linux系统中的用户管理

    五 Linux系统中的用户管理 5 1 用户及用户组存在的意义 5 1 1 用户存在的意义 系统资源是有限的 如何合理分配系统资源 在这个问题解决时必须要有连个资源配合 1 身份 account 2 授权author 3 认证auth 3A
  • JS算法--整数反转

    1 需求介绍 给出一个 32 位的有符号整数 需要将这个整数中每位上的数字进行反转 注意 假设我们的环境只能存储得下 32 位的有符号整数 则其数值范围为 231 231 1 请根据这个假设 如果反转后整数溢出那么就返回 0 反转什么鬼 举
  • matlab 生成不重复的随机整数 打乱数据排列 生成深度学习数据集

    Matlab自带函数randperm n 可以产生1到n的整数的无重复的随机排列 利用它就可以得到无重复的随机数 例如 randperm n 产生一个1到n的随机顺序 gt gt randperm 10 ans 6 4 8 9 3 5 7
  • 人脸识别正则化系列之normface

    今天介绍一下NormFace L2 Hypersphere Embedding for Face Verification Motivation 希望利用正则化解决两个问题 1 人脸识别任务里面的loss有softmax contrasti
  • 【四】3D Object Model之创建Creation——read_object_model_3d()算子

    欢迎来到本博客 Halcon算子太多 学习查找都没有系统的学习查找路径 本专栏主要分享Halcon各类算子含义及用法 有时间会更新具体案例 具体食用方式 可以点击本专栏 Halcon算子快速查找 gt 搜索你要查询的算子名称 或者点击Hal
  • 9 款值得您花钱的最佳 PDF 编辑器

    PDF 格式在 90 年代初一推出就开始流行 PDF 文件便于携带 易于共享 阅读有趣 但难以编辑 有什么不喜欢的呢 与其他格式相比 无论大小的企业都更喜欢 PDF 因为他们不喜欢其他人篡改他们的文档 无论是指南 职业道德还是展示新产品功能
  • MySQL数据库基础操作—DML

    文章目录 DML的基本介绍 1 1数据插入 1 2数据修改 1 3 数据删除 注意 DML的基本介绍 DML是指数据库操作语言 全称是Data Manipulate Language 作用是对数据库中表的数据记录进行更新 关键字 插入ins
  • 区块链技术的主要特征有哪些

    区块链技术的主要特征有 1 去中心化 2 开放性 3 独立性 4 安全性 5 匿名性 从本质上讲 区块链是一个共享数据库 存储于其中的数据或信息 具有不可伪造 全程留痕 公开透明和集体维护等特征 区块链技术的特征 去中心化 区块链技术不依赖
  • Element ui中menu组件(el-menu/el-menu-item/el-submenu/template) 层级结构和用法

    此篇文章写下的时间是2020年 所以如今Element UI都更新了不知道多少版了 肯定会有些许变化 请勿完全照搬照抄 虽然可能这部分代码没什么大的变动 但还是要以官方文档为准 此文仅仅是借鉴 理解具体思路 然后再按照官方的例子来应用到自己