vue3 使用element-ui的el-menu刷新之后保持选中状态

本文介绍了在Vue3中使用Element-UI的el-menu组件,如何在页面刷新后保持菜单选中状态。通过结合$route.path设置`:default-active`属性,并在mounted生命周期钩子中保存当前路径到sessionStorage。同时,使用watch监听activeIndex变化,确保手动输入路由时也能正确显示选中状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

最简单的写法,引入$route.path 如果报错先引入定义

:default-active="$route.path"

 <el-menu
        class="el-menu-vertical-demo"
        :collapse="homeStore.isCollapse"
        background-color="#001529"
        text-color="white"
        active-text-color="yellowgreen"
        :router="trueValue"
        :default-active="$route.path"
        @select="handleSelect"
      >

vue3

<script setup>
import { appSource } from '../../utils/app.js'
import { Calendar, Timer, TakeawayBox } from '@element-plus/icons-vue'
import { useRouter, useRoute } from 'vue-router'
impor
element-uiel-menu中,可以使用`router-link`来实现路由跳转,这样在切换路由时就可以保持当前选中的菜单项。具体实现步骤如下: 1.el-menu使用`router-link`组件来实现路由跳转,如下所示: ``` <el-menu default-active="1" class="el-menu-vertical-demo" router> <router-link to="/home"> <el-menu-item index="1"><i class="el-icon-menu"></i>首页</el-menu-item> </router-link> <router-link to="/about"> <el-menu-item index="2"><i class="el-icon-menu"></i>关于我们</el-menu-item> </router-link> <router-link to="/contact"> <el-menu-item index="3"><i class="el-icon-menu"></i>联系我们</el-menu-item> </router-link> </el-menu> ``` 2. 使用Vue Router的`router-link-active`指令来自动设置菜单项的选中状态,如下所示: ``` <el-menu default-active="1" class="el-menu-vertical-demo" router> <router-link to="/home" router-link-active="active"> <el-menu-item index="1"><i class="el-icon-menu"></i>首页</el-menu-item> </router-link> <router-link to="/about" router-link-active="active"> <el-menu-item index="2"><i class="el-icon-menu"></i>关于我们</el-menu-item> </router-link> <router-link to="/contact" router-link-active="active"> <el-menu-item index="3"><i class="el-icon-menu"></i>联系我们</el-menu-item> </router-link> </el-menu> ``` 3. 在样式中定义`.active`类来设置选中状态的样式,如下所示: ``` .active { background-color: #409EFF !important; color: #fff !important; } ``` 这样就可以实现在el-menu保持当前选中的菜单项,并在切换路由时自动更新选中状态
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小云儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值