当前位置:首页 > 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 实现侧边栏联动:

<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 的导航联动功能。

vue element实现导航联动

标签: vueelement
分享给朋友:

相关文章

vue实现旋转

vue实现旋转

Vue 实现旋转效果的方法 在 Vue 中实现旋转效果可以通过多种方式完成,以下是几种常见的方法: 使用 CSS 动画 通过 Vue 的 :class 或 :style 绑定 CSS 动画实现旋转…

vue实现input

vue实现input

Vue 实现 Input 输入框的方法 基本双向绑定 使用 v-model 指令实现双向数据绑定,适用于大多数表单场景: <template> <input v-model="…

vue实现排序

vue实现排序

Vue 实现排序的方法 在 Vue 中实现排序可以通过多种方式完成,以下是一些常见的方法: 使用计算属性排序数组 计算属性非常适合对数据进行排序,因为它会在依赖的数据变化时自动更新。以下是一个示例:…

vue实现token

vue实现token

Vue 中实现 Token 认证的方法 在 Vue 中实现 Token 认证通常涉及前端与后端的交互,包括 Token 的获取、存储、发送和刷新等操作。以下是具体实现步骤: 获取 Token 用户…

vue 实现回复

vue 实现回复

Vue 实现回复功能 在 Vue 中实现回复功能通常涉及表单提交、数据绑定和列表渲染。以下是实现步骤和代码示例: 数据绑定与表单 <template> <div>…

vue监听实现

vue监听实现

Vue 监听实现方法 在 Vue 中可以通过多种方式实现监听数据变化或事件触发,以下是常见的几种方法: 使用 watch 选项 watch 是 Vue 提供的核心功能之一,用于观察和响应 Vue…