当前位置:首页 > VUE

vue elementui实现菜单

2026-03-28 11:59:52VUE

使用 Vue 和 Element UI 实现菜单

Element UI 提供了 el-menu 组件,可以快速构建导航菜单。以下是一个完整的实现示例:

安装 Element UI

确保项目已安装 Element UI:

npm install element-ui

main.js 中引入 Element UI:

vue elementui实现菜单

import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(ElementUI)

基础菜单实现

在 Vue 组件中使用 el-menu 组件:

<template>
  <el-menu
    :default-active="activeIndex"
    mode="horizontal"
    @select="handleSelect"
    background-color="#545c64"
    text-color="#fff"
    active-text-color="#ffd04b">
    <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>
</template>

<script>
export default {
  data() {
    return {
      activeIndex: '1'
    }
  },
  methods: {
    handleSelect(key, keyPath) {
      console.log(key, keyPath)
    }
  }
}
</script>

侧边栏菜单

如果需要侧边栏菜单,可以修改 modevertical

vue elementui实现菜单

<el-menu
  :default-active="activeIndex"
  mode="vertical"
  @select="handleSelect">
  <!-- 菜单项 -->
</el-menu>

动态生成菜单

从接口获取菜单数据时,可以使用 v-for 动态生成:

<el-menu :default-active="activeIndex">
  <template v-for="item in menuData">
    <el-submenu v-if="item.children" :index="item.id">
      <template slot="title">{{item.title}}</template>
      <el-menu-item 
        v-for="child in item.children" 
        :key="child.id"
        :index="child.id">
        {{child.title}}
      </el-menu-item>
    </el-submenu>
    <el-menu-item v-else :index="item.id">
      {{item.title}}
    </el-menu-item>
  </template>
</el-menu>

菜单路由集成

结合 Vue Router 实现路由跳转:

<el-menu
  :router="true"
  :default-active="$route.path">
  <el-menu-item index="/home">首页</el-menu-item>
  <el-menu-item index="/about">关于</el-menu-item>
</el-menu>

菜单样式自定义

可以通过 CSS 覆盖默认样式:

.el-menu {
  border-right: none;
}
.el-menu-item {
  font-size: 16px;
}

以上示例展示了使用 Element UI 实现各种菜单场景的方法,包括基础菜单、侧边栏菜单、动态菜单以及与路由的集成。根据实际需求选择合适的实现方式即可。

标签: 菜单vue
分享给朋友:

相关文章

vue前端实现注册

vue前端实现注册

使用 Vue 实现用户注册功能 环境准备 确保已安装 Vue CLI 或通过 CDN 引入 Vue。若使用 Vue CLI,需安装 axios 或其他 HTTP 库用于后端通信。 注册表单组件 创建…

vue里实现增删改查

vue里实现增删改查

在Vue中实现增删改查 数据初始化 在Vue组件的data中定义初始数据和表单绑定的变量: data() { return { items: [ { id: 1, name:…

vue   实现单选

vue 实现单选

Vue 实现单选功能 在 Vue 中实现单选功能可以通过多种方式,以下是几种常见的方法: 使用原生 <input type="radio"> 绑定 v-model 通过 v-model…

vue 实现注册

vue 实现注册

Vue 实现注册功能 注册功能通常包括表单验证、数据提交和用户反馈。以下是实现注册功能的步骤: 1. 创建注册表单组件 在 Vue 项目中创建一个注册表单组件,包含用户名、邮箱、密码等输入字段。…

vue实现selectable

vue实现selectable

Vue 实现可选择的 Select 组件 在 Vue 中实现一个可选择的 Select 组件,可以通过以下几种方式: 使用原生 HTML select 元素 <template>…

vue如何实现

vue如何实现

Vue 实现方法 在 Vue 中实现功能通常涉及组件化开发、状态管理和响应式数据绑定。以下是几种常见的实现方式: 组件化开发 使用 Vue 的单文件组件(.vue 文件)结构,将 UI 拆分为可复用…