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

elementui navmenu

2026-03-05 18:03:56前端教程

elementui navmenu 基本用法

Element UI 的 NavMenu 组件用于创建导航菜单,支持横向和纵向布局。基本使用方式是通过 el-menu 标签包裹 el-menu-itemel-submenu 实现层级结构。

横向菜单示例代码:

<el-menu mode="horizontal" :default-active="activeIndex">
  <el-menu-item index="1">首页</el-menu-item>
  <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 index="3">关于我们</el-menu-item>
</el-menu>

纵向菜单示例代码:

<el-menu default-active="2" class="el-menu-vertical-demo">
  <el-submenu index="1">
    <template slot="title">
      <i class="el-icon-location"></i>
      <span>导航一</span>
    </template>
    <el-menu-item index="1-1">选项1</el-menu-item>
    <el-menu-item index="1-2">选项2</el-menu-item>
  </el-submenu>
</el-menu>

导航菜单属性配置

NavMenu 提供多种属性用于自定义菜单行为:

  • mode:菜单类型,可选 horizontal/vertical
  • background-color:菜单背景色
  • text-color:菜单文字颜色
  • active-text-color:激活菜单文字颜色
  • default-active:默认激活的菜单项
  • router:是否使用 vue-router 模式

动态激活菜单项的实现:

data() {
  return {
    activeIndex: '1'
  }
}

导航菜单事件处理

NavMenu 提供多种事件用于交互处理:

  • select:菜单激活回调
  • open:submenu 展开回调
  • close:submenu 收起回调

事件处理示例:

<el-menu @select="handleSelect">
  <!-- 菜单项 -->
</el-menu>

<script>
methods: {
  handleSelect(key, keyPath) {
    console.log(key, keyPath)
  }
}
</script>

响应式导航菜单实现

结合 Element UI 的响应式布局组件,可以创建适应不同屏幕尺寸的导航菜单:

<el-row>
  <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4">
    <el-menu>
      <!-- 菜单内容 -->
    </el-menu>
  </el-col>
</el-row>

移动端适配方案:

<el-menu :collapse="isCollapse">
  <!-- 可折叠菜单项 -->
</el-menu>

<script>
data() {
  return {
    isCollapse: false
  }
},
mounted() {
  window.addEventListener('resize', this.handleResize)
  this.handleResize()
},
methods: {
  handleResize() {
    this.isCollapse = window.innerWidth < 768
  }
}
</script>

导航菜单样式定制

通过 CSS 覆盖可以自定义导航菜单样式:

.el-menu {
  border-right: none;
}
.el-menu-item {
  font-size: 14px;
}
.el-submenu__title {
  color: #333;
}
.custom-menu {
  background-color: #f5f7fa;
}

主题色修改示例:

.el-menu--horizontal {
  --el-menu-active-color: #ff6a00;
}
.el-menu--vertical {
  --el-menu-bg-color: #545c64;
}

elementui navmenu

分享给朋友:

相关文章

iview elementui

iview elementui

iview与Element UI对比 iview和Element UI都是基于Vue.js的UI组件库,适用于快速开发企业级中后台产品。以下是两者的主要差异和特点: 设计风格 iview采用圆…

elementui键盘

elementui键盘

Element UI 键盘事件处理 Element UI 是基于 Vue.js 的组件库,处理键盘事件通常结合 Vue 的原生事件绑定或自定义指令实现。 常用键盘事件绑定方式 在 Elemen…

elementui锁屏

elementui锁屏

ElementUI 锁屏功能实现 ElementUI 本身并未直接提供锁屏组件,但可以通过遮罩层、自定义指令或结合 Vue 路由守卫实现类似效果。以下是几种常见实现方式: 使用遮罩层与自定义指令 通…

elementui优秀

elementui优秀

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

elementui  文档

elementui 文档

以下是 Element UI 官方文档及相关资源的整理: 官方文档地址 Element UI 的官方文档可通过以下链接访问: 中文文档:https://element.eleme.cn…

selectable elementui

selectable elementui

使 ElementUI 组件可选中 ElementUI 默认情况下没有直接提供 selectable 功能的组件,但可以通过以下方法实现可选中效果。 使用 el-checkbox 实现单个选中 通…