点击Element侧栏导航,顶栏导航的高亮背景效果不消失问题;以及解决刷新导航菜单栏高亮效果消失的问题

一、问题描述
1)点击侧栏导航后,顶栏导航的高亮效果还在(问题图片如下,问题已解决)。
2)达到的目的:点击侧栏导航后顶栏导航的高亮背景消失;点击顶栏导航时侧栏导航的高亮效果消失。
点击Element侧栏导航,顶栏导航的高亮背景效果不消失问题;以及解决刷新导航菜单栏高亮效果消失的问题_第1张图片
二、实现过程
使用了Select(菜单激活回调),清空了左侧菜单栏的高亮样式。以下是部分代码,以顶栏导航的为例子,侧栏导航同理可实现。

1.HTML部分:
        <!-- 顶栏菜单 activeIndex是data里面的一个参数-->
			<el-menu router :default-active="activeIndex" mode="horizontal" text-color="#fff" background-color="#2196f3"
			active-text-color="#fff" @select="handleSelect">
           //这里的saveSate是一个保存顶栏导航链接的激活状态的方法,作用是用来防止刷新后高亮样式消失。
				<el-menu-item index="welcome" @click="saveState('welcome')">操作台</el-menu-item>
				<el-menu-item index="message" @click="saveState('message')">
					<template>
						<el-badge :value="12" :max="99">消息中心</el-badge>
					</template>
				</el-menu-item>
			</el-menu>
   2.methods部分:
   // 用于清空左栏菜单绑定的高亮样式
			handleSelect(){
				this.activePath=''//这是左侧菜单绑定的default-active,使它变成空就可以实现。
			},
   // 保存顶栏导航链接的激活状态
			saveState(activeIndex) {
				window.sessionStorage.setItem('activeIndex', activeIndex)
				this.activeIndex=activeIndex
			},
   3.created部分:
   created() {
			this.activeIndex = window.sessionStorage.getItem('activeIndex')
		},

三、高亮效果在当前页面刷新后依旧存在的做法
设置CSS样式如下:用的是 .is-active(忘记从哪个博主那里看过来的了),原先用的是 :hover ,鼠标一离开点击框的范围高亮效果就消失了。

.el-menu-item.is-active {
			border-bottom: none !important;//去除下划线,因为我觉得丑
			background-color: rgba(55, 56, 66, 0.36) !important;//设置高亮的背景颜色
		}

刷新页面后高亮效果依旧能保持(如下图,动态的图不会弄,将就看下吧嗷呜)。
点击Element侧栏导航,顶栏导航的高亮背景效果不消失问题;以及解决刷新导航菜单栏高亮效果消失的问题_第2张图片

你可能感兴趣的:(点击Element侧栏导航,顶栏导航的高亮背景效果不消失问题;以及解决刷新导航菜单栏高亮效果消失的问题)