当前位置:首页 > 前端教程

elementui menu

2026-03-06 03:28:00前端教程

以下是关于 ElementUI 中 Menu 组件的关键特性和使用方法整理:

基础用法

通过 el-menu 组件创建导航菜单,配合 el-menu-item 实现单项菜单。水平菜单需设置 mode="horizontal" 属性,默认垂直菜单无需额外设置。

<el-menu :default-active="activeIndex" mode="horizontal">
  <el-menu-item index="1">首页</el-menu-item>
  <el-menu-item index="2">产品中心</el-menu-item>
</el-menu>

动态激活项

通过 default-active 属性绑定当前激活菜单项的 index 值,配合 @select 事件可监听菜单项选择:

data() {
  return {
    activeIndex: '1'
  }
},
methods: {
  handleSelect(key) {
    console.log('选中菜单:', key)
  }
}

子菜单实现

使用 el-submenu 嵌套实现多级菜单,通过 template slot="title" 自定义标题内容:

elementui menu

<el-submenu index="2">
  <template slot="title">产品分类</template>
  <el-menu-item index="2-1">办公软件</el-menu-item>
  <el-menu-item index="2-2">开发工具</el-menu-item>
</el-submenu>

菜单分组

通过 el-menu-item-group 组件对菜单项进行分组,title 属性设置分组标题:

<el-menu-item-group title="开发语言">
  <el-menu-item index="3-1">JavaScript</el-menu-item>
  <el-menu-item index="3-2">Python</el-menu-item>
</el-menu-item-group>

主题配色

ElementUI 提供两种主题色:

elementui menu

  • 通过 background-color/text-color/active-text-color 属性自定义颜色
  • 使用 menu 的 SCSS 变量进行全局样式覆盖
$--menu-item-hover-fill: #f0f9eb;
$--menu-border-color: #e6f7e0;

权限控制

结合 v-if 实现动态菜单渲染,通常与路由权限系统配合使用:

<el-menu-item 
  v-if="hasPermission('admin')" 
  index="4"
>管理员面板</el-menu-item>

路由集成

vue-router 集成时,建议使用 router-link:route 属性:

<el-menu-item index="5" :route="{ path: '/about' }">
  关于我们
</el-menu-item>

响应式处理

监听窗口大小变化动态切换菜单模式:

window.addEventListener('resize', () => {
  this.isCollapse = window.innerWidth < 768
})

注意事项

  1. index 属性必须唯一且建议使用字符串类型
  2. 水平菜单超过容器宽度时不会自动换行,需自行处理溢出
  3. 菜单折叠状态下建议配合 el-tooltip 显示完整标题

标签: elementuimenu
分享给朋友:

相关文章

elementui优秀

elementui优秀

优秀特性 Element UI 作为一款基于 Vue.js 的组件库,因其设计规范、易用性和丰富的功能而广受开发者青睐。 一致性设计 遵循统一的视觉风格和交互逻辑,提供开箱即用的主题定制能力,…

vue实现menu

vue实现menu

Vue 实现 Menu 组件 基础 Menu 实现 使用 Vue 3 的 Composition API 可以快速实现一个基础的 Menu 组件。以下是一个简单的实现示例: <template…

elementui读音

elementui读音

关于 ElementUI 的读音 ElementUI 的读音可以拆分为两部分: Element:读作 /ˈelɪmənt/,类似于“艾-利-门特” UI:读作 /ˌjuː ˈaɪ/,即字母“U”和“…

elementui navmenu

elementui navmenu

使用 ElementUI NavMenu 导航菜单 ElementUI 的 NavMenu 组件提供了一种简单的方式来实现网站或应用的导航菜单。以下是关于如何使用和配置 NavMenu 的详细说明。…

elementui transfer

elementui transfer

ElementUI Transfer 组件使用指南 ElementUI 的 Transfer 组件用于在两栏之间转移数据,适用于权限分配、数据分类等场景。以下为详细使用方法: 基础用法 在模板中引入…

elementui echarts

elementui echarts

ElementUI 与 ECharts 集成指南 ElementUI 是饿了么团队开发的 Vue.js 组件库,ECharts 是百度开源的 JavaScript 图表库。两者结合可快速构建数据可视化…