首页 > 其他分享 >【已解决】ElementPlus 的 el-menu 组件如何用 js 控制展开某个子菜单,并在其他组件中控制使用呢?

【已解决】ElementPlus 的 el-menu 组件如何用 js 控制展开某个子菜单,并在其他组件中控制使用呢?

时间:2024-09-23 19:51:21浏览次数:16  
标签:node el ElementPlus const menu 组件 console children

文章目录


需求

我如何用代码来实现 ElementPlus 的菜单的展开和收缩呢?
在这里插入图片描述

几次探索

  • 尝试通过找到节点之后,使用 click 事件,失败了

    // 伪代码如下
    const handleFindNodeAndClick = () => {
        console.log('handleFindNodeAndClick');
        const node:any = document.querySelector('.el-menu')
        console.log('node:>>', node);
        if (node) {
            const children = node.children;
            console.log('children:>>', children);
            children[2].click()
        }
    }
    
  • 尝试模拟鼠标点击事件,失败了

    // 大致思路如下
    const menuItem = document.querySelector('.menu-item');
    
    // 创建一个鼠标事件
    const event = new MouseEvent('click', {
      bubbles: true,
      cancelable: true,
      view: window
    });
    
    // 派发鼠标事件
    menuItem.dispatchEvent(event);
    

官网寻找线索(解决办法)

不得已去官网上翻翻看,看到个这个 Menu Exposes,看着说明很像是我的需求啊,但是不太会用呢

在这里插入图片描述
然后,我来到了这个后台管理框架的 Layout 找到了这个组件,找到了这个组件,打印了它的 ref 一看!

在这里插入图片描述
在浏览器里看看
在这里插入图片描述
可以简单测试一下

在这里插入图片描述
效果出来了

在这里插入图片描述
那么可以把这个 ref 放到 Store 里,然后在其他组件中拿到这个 菜单的实例,即可全局调用这个方法了!

标签:node,el,ElementPlus,const,menu,组件,console,children
From: https://blog.csdn.net/u010263423/article/details/142466807

相关文章

  • springcloud整合sentinel
    此处只做个简单的springcloud中添加sentinel的demo1、下载sentinel的jar,访问网址:https://github.com/alibaba/Sentinel/releases 2、找到本地jar文件夹,使用cmd或者终端中打开,执行java-jar sentinel-dashboard-1.8.0.jar 启动完成 访问可视化页面,默认账号密码都是sent......
  • 小程序开发设计-小程序的宿主环境:组件⑦
    上一篇文章导航:小程序开发设计-小程序的宿主环境:宿主环境简介⑥-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142425131?spm=1001.2014.3001.5501注:不同版本选项有所不同,并无大碍。1.小程序中组件的分类:小程序中的组件也是由宿主环境提供的,开发者可以基......
  • CVEN9612 – Catchment Modelling
    CVEN9612– Catchment ModellingAssignment 1 Part 1– Rainfall-Runoff Modeling and RoutingThis part ofthe assignment is worth 15% ofthe total grade for CVEN9612. The assignment answersaretobesubmittedonlineinMoodle as a s......
  • Excel的基本应用__1
    1.模拟运算1.1单变量求解1.1.1步骤1.1.1效果1.2模拟运算表1.2.1步骤1.2.2效果2.选择性粘贴--转至3.Excel中如何使用和定义名称使用相当于全局变量,可以在不同表中调用3.1名称中使用常量3.2名称中使用函数调用可以在不同的表中调用3.3动态名......
  • 《勇敢小骑士》游戏闪退弹窗提示“找不到kernel.dll”文件该怎么解决?游戏启动时崩溃提
    当玩《勇敢小骑士》游戏出现闪退并弹窗提示“找不到kernel.dll”文件时,可以在网上搜索可靠的该文件资源进行下载,然后放置到合适的系统目录中。也可尝试检查游戏完整性,看能否自动修复此问题。本篇将为大家带来《勇敢小骑士》游戏闪退弹窗提示“找不到kernel.dll”文件该怎么解决......