【 Element UI 】二级菜单高亮显示

Vue.js 保持二级菜单高亮显示的实现
本文介绍了如何在Vue.js中使用Element UI组件库实现二级菜单点击后保持高亮显示。通过设置`default-active`属性并结合`sessionStorage`存储当前激活的路径,确保页面刷新后仍能正确显示选中状态。同时,代码中展示了如何配置菜单的样式,如背景色、文字颜色等。

保持二级菜单点击之后高亮

<el-menu
	:collapse="isCollapse"
    :collapse-transition="false"
    background-color="#fff"
    text-color="#000"
    active-text-color="#ffd04b"
    :router="true"
    :default-active="aciveNavPath"
>
</el-menu>

<script>
export default {
	data(){
		return {
			 // 二级菜单 路由地址
			aciveNavPath:""
		}
	},
	methods{
		// 保存二级菜单的导航地址 方便点击时 保持高亮状态
	    saveNav(path) {
	      window.sessionStorage.setItem("path", path);
	    }
    },
    created{
		// 获取存储在sessionStorage里面的二级导航菜单路由地址
    	this.aciveNavPath = window.sessionStorage.getItem("path");
	}
};
</script>

在这里插入图片描述

	// 设置导航栏是否展开
	:collapse="isCollapse"
	// 设置导航栏的动画效果
    :collapse-transition="false"
	// 设置导航栏的背景色
    background-color="#fff"
    // 设置导航栏文本颜色
    text-color="#000"
    // 设置导航栏点击之后的文本颜色
    active-text-color="#ffd04b"
    // 为二级菜单开启路由模式 跳转到 二级路由绑定的 :index="xxxx" 路径里面
    :router="true"
    // 保持二级菜单点击之后高亮显示
    :default-active="aciveNavPath"
### Element UI 中实现侧边导航栏二级菜单点击跳转 在使用 Element UI 的侧边导航组件 `el-menu` ,可以通过配置属性以及结合 Vue Router 来实现二级菜单的页面跳转和高亮效果。 #### 属性设置 为了使二级菜单能够正常跳转并保持高亮状态,可以利用 `el-menu` 组件中的 `unique-opened` 和 `router` 属性。其中: - **`unique-opened`**: 设置为 true 可以让每次只展开一个子菜单[^1]。 - **`router`**: 将此属性设为 true 后,`el-menu-item` 的索引值会被当作路径来匹配当前路由,并自动激活对应的菜单项[^3]。 #### HTML 结构示例 以下是基于 VueElement UI 的侧边导航结构代码片段: ```html <el-menu default-active="this.$route.path" router unique-opened class="el-menu-vertical-demo"> <el-submenu index="1"> <template slot="title">一级菜单</template> <el-menu-item-group> <el-menu-item index="/home">首页</el-menu-item> <el-menu-item index="/about">关于我们</el-menu-item> </el-menu-item-group> </el-submenu> </el-menu> ``` 上述代码中,`index` 值对应的是目标页面的路径,当用户点击某个菜单项会触发相应的路由跳转操作[^2]。 #### Vue Router 配置 确保已经正确安装并初始化了 Vue Router 插件,在 main.js 文件里引入它之后创建实例对象如下所示: ```javascript import Vue from 'vue'; import Router from 'vue-router'; Vue.use(Router); export default new Router({ routes: [ { path: '/home', component: () => import('@/views/Home') }, { path: '/about', component: () => import('@/views/About') } ] }); ``` 这里定义了两个简单的路由规则分别指向 Home.vue 和 About.vue 这两个视图组件文件。 #### 样式调整注意事项 对于某些特殊需求比如拖拽功能,则需要注意 CSS 样式的编写方式。例如 `.content{display:flex;}` 是必要的样式声明以防布局错乱;另外 resize 动作应该相对其父容器采用绝对定位处理。 综上所述,按照以上方法就可以顺利达成 element-ui 导航栏内的二级链接切换同具备选中态的效果啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值