vue element开发侧边栏时的菜单根据路径动态绑定

前言

这篇文章的话是要跟据自己项目的router路径来锁定菜单的默认选择值,因为代码的话就是整个项目的一个交互,所以这篇文章,主要内容是用文字和图片来和大家讲解原理的,代码就很少,主要就是它的原理构成,话不多说,现在开始为大家讲解。

一,为什么会有这个需求

在开发时,我们的用户点击菜单的第二个选项,看到里面的内容时,然后F5刷新,没有设置的情况下,它的菜单高亮还是会默认的选择原有设置的一个,我们的目的就是把默认选择高亮的菜单变成动态的,它的选择是根据路径来变化的

二,开始

在element中,制作侧边栏要用的是这些
在这里插入图片描述
大家都知道它的默认选择属性是default-active,我们的目的就是要把它变成动态的
我这里写的比较简单一些,如图所示
在这里插入图片描述
在这里插入图片描述
它只是一个一级套两个二级,如果你需要更多的话可以按照我的这个格式套,路由的地方就不和大家讲解了,如果不会的话我之前的博客有,可以去看,这些东西都是开发必备的。
然后现在的效果是
在这里插入图片描述
在这里插入图片描述
如果刷新的话,我们当时是在two的页面上,如果没有设置的话,那么高亮的文字还是我的线索,如下图
在这里插入图片描述
我们要把default-active属性设置为动态的 设置为 :default-active=“open”
然后在methods里写一个函数

openindex(c) {
      for (var i = 0; i < this.menuItems.length; i++) {
        for (var j = 0; j < this.menuItems[i].children.length; j++) {
          if (c.replace("/", "") == this.menuItems[i].children[j].name) {
            return `${i}-${j}`;
          }
        }
      }
    }

然后在在mounten()里面写入

mounted() {
    //调用根据路径来获取默认的菜单选择
    var c = this.$route.path;
    this.open = this.openindex(c);
  }

这样的话我们之前在那个页面刷新之后菜单也是对应的那个页面
在这里插入图片描述

结语

这就是调节菜单默认高亮的所有详细步骤,希望对你有所帮助

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3中使用Element UI实现侧边栏导航循环遍历icon的实现方法与上面所示的基本类似,只是需要使用Element UI提供的icon组件。以下是一个示例代码: ```html <template> <div> <el-menu :default-active="activeIndex" class="el-menu-vertical-demo" @select="handleSelect"> <el-menu-item v-for="(item, index) in navItems" :key="index" :index="index"> <i :class="item.icon"></i> <span slot="title">{{ item.title }}</span> </el-menu-item> </el-menu> </div> </template> <script> export default { data() { return { activeIndex: "0", // 默认选中项的索引 navItems: [ { title: "Home", link: "/", icon: "el-icon-s-home" // Element UI提供的icon类名 }, { title: "About", link: "/about", icon: "el-icon-info" }, { title: "Contact", link: "/contact", icon: "el-icon-message" }, // 循环遍历的数据可以自行添加或从后端API获取 ] }; }, methods: { handleSelect(index) { this.activeIndex = index; } } }; </script> ``` 在上面的代码中,`navItems`数组中存储了侧边栏导航的数据,包括每个导航项的标题、链接和图标类名。使用`v-for`指令在模板中循环遍历这些导航项,并将每个图标的类名绑定到`<i>`元素的`class`属性上,以显示相应的图标。同,使用Element UI提供的`el-menu`和`el-menu-item`组件实现了导航菜单的基本结构,并使用`default-active`属性指定默认选中项的索引。在`handleSelect`方法中,我们可以监听导航菜单的`select`事件,更新选中项的索引并执行相应的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值