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

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

时间:2024-09-23 19:51:21浏览次数:13  
标签: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......
  • 25705 Financial Modelling and Analysis
    Assessmenttask 2Financial ModellingCaseStudy (Individual)25705 Financial ModellingandAnalysisSpringsession 2024Generalinformationand instructions•   This businesscaseaccounts for40% ofyour final grade.•   You mustcomp......
  • electron中定义ipc的完美方案
    前语发现在主进程和渲染进程通信的设计中,很多代码都是重复的,导致最后非常臃肿,且不利于后期扩展方案electron项目中核心文件结构如下|--index.js|--index.html|--ipc|--handlers|--other.js|--xxx.js|--index.js|--preload.jsipc/handle......
  • php: 编译安装时找不到libzip-devel,开启crb库
    一,yum找不到libzip-devel返回信息:[[email protected]]#yumsearchlibzipLastmetadataexpirationcheck:0:08:35agoonMon23Sep202406:04:32PMCST.==========================================================================NameExactlyMatched:libzip......
  • 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”文件该怎么解决......
  • (一)Bluebell用户表结构设计及用户ID生成(雪花算法)
    一、用户表结构在mysql数据库中创建user表DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`user_id`bigint(20)NOTNULL,`username`varchar(64)COLLATEutf8mb4_general_ciNOTNULL,`password`varchar(64)COLLATEutf8......
  • Kernel Stack栈溢出攻击及保护绕过
    前言本文介绍Linux内核的栈溢出攻击,和内核一些保护的绕过手法,通过一道内核题及其变体从浅入深一步步走进kernel世界。QWB_2018_core题目分析start.shqemu-system-x86_64\-m128M\-kernel./bzImage\-initrd./core.cpio\-append"root=/dev/ramrw......