当前位置:首页 > VUE

vue element实现导航联动

2026-01-22 08:01:01VUE

Vue + Element UI 实现导航联动

在 Vue 项目中结合 Element UI 实现导航联动功能,通常需要利用 el-menu 组件及其相关属性。以下是实现步骤和代码示例:

基本导航联动实现

安装 Element UI(如未安装):

npm install element-ui

main.js 中引入 Element UI:

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

Vue.use(ElementUI);

在组件中使用 el-menu

<template>
  <el-menu
    :default-active="activeIndex"
    mode="horizontal"
    @select="handleSelect"
  >
    <el-menu-item index="1">首页</el-menu-item>
    <el-menu-item index="2">产品</el-menu-item>
    <el-menu-item index="3">关于我们</el-menu-item>
  </el-menu>
</template>

<script>
export default {
  data() {
    return {
      activeIndex: '1'
    };
  },
  methods: {
    handleSelect(index) {
      this.activeIndex = index;
      // 根据 index 执行路由跳转或其他逻辑
      if (index === '1') this.$router.push('/home');
      if (index === '2') this.$router.push('/products');
      if (index === '3') this.$router.push('/about');
    }
  }
};
</script>

动态绑定路由与导航

通过 router-link 实现导航与路由联动:

<template>
  <el-menu
    :default-active="$route.path"
    mode="horizontal"
    router
  >
    <el-menu-item index="/home">首页</el-menu-item>
    <el-menu-item index="/products">产品</el-menu-item>
    <el-menu-item index="/about">关于我们</el-menu-item>
  </el-menu>
</template>

说明:

  • router 属性启用路由模式,index 直接绑定路由路径。
  • default-active 绑定当前路由路径 $route.path,实现高亮同步。

嵌套菜单联动

使用 el-submenu 实现多级导航联动:

<template>
  <el-menu
    :default-active="$route.path"
    mode="vertical"
    router
  >
    <el-submenu index="1">
      <template slot="title">产品</template>
      <el-menu-item index="/product/web">Web 产品</el-menu-item>
      <el-menu-item index="/product/mobile">移动端产品</el-menu-item>
    </el-submenu>
  </el-menu>
</template>

侧边栏导航联动

结合 el-menuel-submenu 实现侧边栏联动:

vue element实现导航联动

<template>
  <el-menu
    :default-active="$route.path"
    class="sidebar"
    router
  >
    <el-menu-item index="/dashboard">
      <i class="el-icon-s-home"></i>
      <span>仪表盘</span>
    </el-menu-item>
    <el-submenu index="2">
      <template slot="title">
        <i class="el-icon-s-management"></i>
        <span>管理</span>
      </template>
      <el-menu-item index="/user/list">用户列表</el-menu-item>
      <el-menu-item index="/role/list">角色列表</el-menu-item>
    </el-submenu>
  </el-menu>
</template>

<style>
.sidebar {
  height: 100vh;
  width: 200px;
}
</style>

注意事项

  1. 路由模式:确保 router 属性已启用,且 index 值与路由配置一致。
  2. 高亮同步:通过 default-active 绑定当前路由路径(如 $route.path)。
  3. 嵌套菜单:多级菜单需使用 el-submenu 包裹子项。
  4. 样式调整:根据需要自定义菜单宽度、高度或背景色。

通过上述方法,可以灵活实现 Vue + Element UI 的导航联动功能。

标签: vueelement
分享给朋友:

相关文章

vue 实现toast

vue 实现toast

vue 实现 toast 的方法 在 Vue 中实现 Toast 提示功能可以通过多种方式,以下是几种常见的实现方法: 使用第三方库 Vue 生态中有许多成熟的 Toast 库,例如 vue-toa…

vue 实现列表

vue 实现列表

Vue 实现列表的方法 在 Vue 中实现列表通常使用 v-for 指令,结合数组或对象数据渲染动态列表。以下是几种常见的实现方式: 基础列表渲染 使用 v-for 指令遍历数组,渲染列表项。ite…

vue实现刷卡

vue实现刷卡

Vue 实现刷卡效果 在 Vue 中实现刷卡效果可以通过 CSS 动画和 Vue 的过渡系统结合完成。以下是一种常见的实现方式: 基础实现方法 安装 Vue 过渡依赖(如果尚未安装): npm i…

vue实现折叠

vue实现折叠

Vue 实现折叠功能 在 Vue 中实现折叠功能可以通过多种方式完成,以下介绍几种常见的方法。 使用 v-show 或 v-if 控制显示隐藏 通过 Vue 的指令 v-show 或 v-if 可以…

vue分页实现

vue分页实现

实现Vue分页的几种方法 使用Element UI的分页组件 安装Element UI库后,可以直接使用其分页组件。以下是一个基本示例: <template> <div>…

vue实现评价

vue实现评价

Vue实现评价功能 数据绑定与双向绑定 Vue的核心特性是数据绑定和双向绑定,通过v-model指令可以轻松实现表单输入与应用状态之间的双向绑定。在评价功能中,可以使用v-model绑定评论文本和评分…