美文网首页Web前端之路让前端飞Vue
element-plus-Menu菜单-已绑定菜单的动态刷新问题

element-plus-Menu菜单-已绑定菜单的动态刷新问题

作者: 嘻哈章鱼小丸子 | 来源:发表于2022-08-18 17:56 被阅读0次
背景
菜单aaaa高亮显示

如上图所示:

  • 菜单aaaaurl根据用户权限动态生成,路由形如/a/:b/xxxx,依赖参数b
  • 参数 b:点击下图中1,2动态改变的路由参数
    切换操作

默认状态:展示菜单aaaa,和当前路由匹配,高亮显示。

需求

点击2切换路由参数,更新菜单里的url,并且菜单aaaa仍应高亮显示。

实现

菜单生成代码:

<el-menu unique-opened :default-active="activeIndex" router>
          <el-menu-item v-for="item in menus" :key="item.url" :index="item.url">     
                {{ item.name }}
          </el-menu-item>
 </el-menu>
cosnt getMenus=(b)=>{
    const wPath = '/a/'+b 
    const menus = [
        { url: wPath + '/xxxx', name: '菜单测试'}
    ]
   return menus 
}

点击2,进行切换,调用getMenus方法重新生成菜单

运行结果

地址栏的url 变了,但是左侧菜单不高亮了!

菜单不高亮了
而且,打印menus 变量值也是对的:
menus

有一点点懵逼

地址栏url是对的,menus 变量值也是对的,那么到底哪里出错了呢?

难道是menu菜单渲染问题,没有重新渲染?*

试着给el-menu 加了key,没有重新渲染。

想了想,有没有可能是菜单引用地址变了,所以不会重新渲染(没有看element-plus 的源代码,不知道怎么实现的)?

于是,点击2进行切换的时候直接修改的子项url,没有调用getMenus这个方法。试下:

menus[0].url = '/a/' + b + '/xxxx'

结果,菜单aaaa居然真的选中了!!!喜极而泣!!!

切2菜单选中
于是按照这个思路对嵌套菜单进行循环修改,解决了已绑定菜单的动态刷新问题。
结论

实现已绑定菜单的动态刷新,只能改变具体菜单项的值,例如index(url),不能改变菜单的引用值

相关文章

  • element-plus-Menu菜单-已绑定菜单的动态刷新问题

    背景 如上图所示: 菜单aaaa:url根据用户权限动态生成,路由形如/a/:b/xxxx,依赖参数b 参数 b:...

  • WPF常用小技巧

    菜单项部分绑定 有时需要动态生成菜单,但是同一个菜单中不仅仅包含动态项,而且包含固定项。这个时候就不能对菜单的It...

  • vue-router 动态添加菜单刷新后点击菜单报错

    动态添加菜单,点击菜单后报错,后来发现是因为刷新后把动态菜单数据放在了localStorage,所以序列化成了js...

  • Artery 联动改变值

    在上个菜单的值改变脚本,调用下个菜单的reload的脚本 通过reload刷新动态数据 实例 function j...

  • layui+vue 菜单的问题

    layui 菜单 使用vue数据动态绑定时,出现二级菜单的三角隐藏和鼠标经过样式全无,这是一个样式问题。 因为la...

  • js模拟点击鼠标右键

    前提是该元素已绑定事件如果没有事件,右键是系统默认的右键菜单 因此,先给元素绑定个右键事件: 再来模拟右键菜单 如...

  • 2020-12-21

    Android 底部菜单动态配置及刷新机制 主体架构FragmentTabHost+FrameLayout 初始化...

  • 右键菜单插件-contextmenu

    右键菜单插件可以绑定页面中的任意元素,绑定后,选中元素,点击右键,便通过该插件弹出一个快捷菜单,点击菜单各项名称执...

  • Fullpage 10.16

    Fullpage 菜单 绑定菜单,设置相关属性和anchors值对应后,菜单可以控制滚动,默认false,可设置为...

  • 7-electron自定义软件顶部菜单、右键菜单以及绑定快捷键

    Electron 自定义软件顶部菜单以及绑定快捷键 electron 中 menu 菜单可以用来创建原生菜单,它用...

网友评论

    本文标题:element-plus-Menu菜单-已绑定菜单的动态刷新问题

    本文链接:https://www.haomeiwen.com/subject/rltsgrtx.html