vue3 el-menu初始化时选中没有高亮的问题(default-active和index的问题)

首先看官方文档的示例:

需要注意的是:

1、default-active的值是字符串,那么index绑定的值也要是字符串,且数字对应。不能default-avtive绑定的是1,而menu-item的index绑定的是45

2、default-active的值是当前选中menu-item项的index

所以el-menu-item的index项一定要和default-active对应起来。

javascript 复制代码
<el-menu
    :default-active="activeIndex"
    class="el-menu-demo"
    mode="horizontal"
    @select="handleSelect"
  >
    <el-menu-item index="1">Processing Center</el-menu-item>
    <el-sub-menu index="2">
      <template #title>Workspace</template>
      <el-menu-item index="2-1">item one</el-menu-item>
      <el-menu-item index="2-2">item two</el-menu-item>
      <el-menu-item index="2-3">item three</el-menu-item>
      <el-sub-menu index="2-4">
        <template #title>item four</template>
        <el-menu-item index="2-4-1">item one</el-menu-item>
        <el-menu-item index="2-4-2">item two</el-menu-item>
        <el-menu-item index="2-4-3">item three</el-menu-item>
      </el-sub-menu>
    </el-sub-menu>
    <el-menu-item index="3" disabled>Info</el-menu-item>
    <el-menu-item index="4">Orders</el-menu-item>
  </el-menu>
<script lang="ts" setup>
import { ref } from 'vue'
const activeIndex = ref('1')
const handleTest = (key,keyPath) => {
  console.log('打印输出menuSelect事件的参数---',activeIndex.value,key,keyPath)
}
</script>

再次点击其他项

为了避免页面刷新时menu组件的选中样式消失,所以在每次点击的时候我们要将default-active重新赋值。这样:default-active绑定的就是动态的了。

相关推荐
vjmap25 分钟前
如何一键自动提取CAD图中的中心线(如墙体、道路、巷道中心线等)
前端·javascript·gis
小鱼儿20201 小时前
vue入门:函数式组件
前端·javascript·vue.js
uhakadotcom1 小时前
🚀 使用 Bun 快速搭建 HTTP 服务器:一步步教程
前端·javascript·面试
大叔_爱编程1 小时前
wx212基于ssm+vue+uniapp的科创微应用平台小程序
vue.js·小程序·uni-app·毕业设计·ssm·课程设计·科创微应用平台小程序
TS古宁1 小时前
CST1017.基于Spring Boot+Vue共享单车管理系统
java·前端·vue.js·spring boot·后端
程序员易晶2 小时前
仿照管理系统布局配置
javascript·vue.js·elementui
TS古宁2 小时前
CST1018.基于Spring Boot+Vue滑雪场管理系统
java·vue.js·spring boot·后端·spring
JiangJiang3 小时前
🚀 Vue 人转 React 必踩的 useEffect 坑,我来填平了
javascript·react.js·面试
十八朵郁金香3 小时前
一天时间,我用AI(deepseek)做了一个配色网站
前端·javascript·人工智能·vue
前端不能无3 小时前
Vue 3 defineModel API:自定义组件简化双向数据绑定新利器
前端·vue.js