el-tree 获取当前勾选节点的选中状态以及选中值对象 触发check-change多次事件问题原因

1.需求 现在需要一个树状结构的资产树 但是现在需求是 获取当前选中的值的状态是选中还是取消选中 然后再用当前选中 or 取消选中的值 进行 选中 or 取消选中的操作

一开始使用的是  check-change 方法

接收参数如图    但是我勾选父节点 或者 子节点后 他会打印一堆数据 是因为

当你触发了子节点的复选框,如果复选框为全选的状态,因为你的一次触发,导致变为半选的状态,导致会在触发一次父节点的复选框check-change。

反之,假如树节点的复选框是没有选择的状态,由于选择了子节点后,变成了半选的状态,又会触发一次check-change

再者,就是直接选择复选框的话,复选框假如是全选的状态的话,点击树节点的父节点的话,会改变子节点所有的选择,则会触发节点数数量+1(父节点)的check-change次数

总结: Element Plus 的 <el-tree> 组件在处理勾选状态时,会因为级联的勾选逻辑导致 check-change 事件多次触发。直接操作父节点的复选框会影响其所有子节点的勾选状态,从而触发每个子节点的 check-change 事件;而勾选或取消勾选子节点也可能会改变父节点的勾选状态,导致父节点的 check-change 事件被触发。

解决办法  1.

设置为true 但是这样子节点与父节点之间就没关联了 这样就违背了我们的初衷

解决办法  2.

 使用check 可以使用接收的参数来判断当前选中的状态 

  const isChecked = node.checkedKeys.includes(data.id);
            if (isChecked) {
                //勾选
                console.log('勾选');
            } else {
                //取消勾选
                console.log('取消勾选');
            }

 我们也可以使用 this.$refs.tree.getCheckedNodes() 来获取树节点上的所有勾选的节点过滤进行某些操作 

this.$refs.tree.getCheckedNodes()

 这是vue2 写法 vue3同理 

参考文章 : Element-plus el-tree 触发check-change多次事件

补充 :

 隐藏第一层节点 或者最后一层节点的 勾选框

//隐藏第一级   给el-tree 一个类名 stafftree   
::v-deep .stafftree > .el-tree-node > .el-tree-node__content .el-checkbox {
  display: none;
}
//隐藏最后一层节点

    ::v-deep .el-tree-node {
        .is-leaf+.el-checkbox .el-checkbox__inner {
            display: none;
        }

        // .el-checkbox .el-checkbox__inner {
        //     display: none;
        // }
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/792147.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为HCIP Datacom H12-821 卷36

1.单选题 在PIM- SM中&#xff0c;以下关于RP 的描述&#xff0c;错误的是哪一选项? A、在PIM-SM中&#xff0c;组播数据流量不一定必须经过RP的转发。 B、对于一个组播组来说&#xff0c;可以同时有多个RP地址&#xff0c;提升网络可靠性。 C、组播网络中&#xff0c;可以…

Hutool发送Http请求

提示&#xff1a;今天主要学习了使用Hutool的方式来发送Http请求 文章目录 目录 文章目录 一、导库 二、使用 三、调用 四、结果 一、导库 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.26&…

Python基础教学之一:入门篇——迈入编程世界的第一步

Python基础教学之一&#xff1a;入门篇——迈入编程世界的第一步 一、Python简介&#xff1a;历史与现状 Python&#xff0c;一种解释型、高级和通用的编程语言&#xff0c;由Guido van Rossum在1989年圣诞节期间创造&#xff0c;并于1991年首次发布。设计哲学强调代码的可读性…

测试与开发高效协作 6大注意事项

测试与开发的高效协作显著提升软件质量&#xff0c;加速问题的检测与修复&#xff0c;节省成本与时间&#xff0c;加强风险管理&#xff0c;确保项目按时按质完成&#xff0c;增强产品市场竞争力。如果测试与开发间协作不顺畅&#xff0c;往往导致团队效率下降&#xff0c;责任…

dify-api的Dockerfile分析

一.dify-api的Dockerfile文件 dify-api的Dockerfile文件如下所示&#xff1a; # base image FROM python:3.10-slim-bookworm AS baseLABEL maintainer"takatostgmail.com"# install packages FROM base as packagesRUN apt-get update \&& apt-get install…

腾讯HR的多维世界:从校招到文化塑造的全面探索

目录 Lyra&#xff1a;海外招聘的沟通桥梁 Moth&#xff1a;文化与活动的创意推手 Yaron&#xff1a;数据与分析的驱动者 腾讯HR的多元价值与成长路径 成就他人&#xff0c;实现自我 多元化团队的协同效应 长期主义与持续成长 企业文化与社会责任的践行者 结语&#x…

电焰灶:烹饪性能的深度剖析

在如今众多的厨房炉灶选择中&#xff0c;华火电焰灶以其独特的技术和性能吸引了不少消费者的目光。那么&#xff0c;华火电焰灶的综合烹饪性能究竟如何呢&#xff1f;让我们一起来深入探究。 首先&#xff0c;从火力方面来看&#xff0c;华火电焰灶展现出了强大的优势。其火焰强…

吹田电气绿色能源 未来可期

在2024年7月的上海慕尼黑电子展上&#xff0c;吹田电气功率分析仪成为了备受瞩目的明星产品。作为电子测试与测量领域的重要工具&#xff0c;功率分析仪在展会上展示了其在绿色能源和高效能量管理方面的最新应用&#xff0c;引发了广泛关注和热议。 领先技术&#xff0c;精准测…

模拟生成高斯随机数序列

模拟和生成高斯随机数序列&#xff08;服从标准正态分布的随机变量&#xff09; Box-Muller 法 & Marsaglia 极坐标法 Box-Muller&#xff1a;使两个独立的均匀分布生成一个高斯分布。 Box-Muller方法的基本思想是利用两个独立的均匀分布随机变量的关系来生成高斯分布的…

宋仕强谈金航标kinghelm

金航标kinghelm宋仕强在介绍自己公司时说&#xff0c;金航标成立于2007年&#xff0c;成立地点在华强北雷圳大厦803室&#xff0c;后搬到华强北广业大厦24楼CD室&#xff0c;后搬迁到龙华展滔科技大厦C座C809和C817室&#xff0c;现在的办公地址为龙岗区坂田街道百瑞达大厦&…

百度智能云将大模型引入网络故障定位的智能运维实践

物理网络中&#xff0c;某个设备发生故障&#xff0c;可能会引起一系列指标异常的告警。如何在短时间内从这些告警信息中找到真正的故障原因&#xff0c;犹如大海捞针&#xff0c;对于运维团队是一件很有挑战的事情。 在长期的物理网络运维工作建设中&#xff0c;百度智能云通…

Pytorch版本、安装和检验

基于conda包的环境创建、激活、管理与删除 目录 CUDA版本 Pytorch版本 Pytorch安装 检验安装 获取torch版本 获取torchvision版本 检验CUDA是否可用 获取CUDA设备的数量 获取CUDA设备ID 获取CUDA设备名称 CUDA版本 CUDA 是 NVIDIA 专为图形处理单元 (GPU) 上的通用计算…

AI Earth——Sentinel-5P大气污染监测可视化应用APP

数据介绍 Sentinel-5P OFFL L3_CH4简介与Notebook示例 该数据集提供Offline的甲烷(Methane, CH4)聚集度高分辨率影像。 CH4是继二氧化碳 (CO2) 之后人为增强温室效应的最重要贡献者。大约四分之三的甲烷排放是由人为造成,因此继续记录基于卫星的测量结果非常重要。Sentine…

免费分享一套SpringBoot+Vue农产品在线销售(在线商城)管理系统【论文+源码+SQL脚本】,帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue农产品在线销售(在线商城)管理系统&#xff0c;分享下哈。 项目介绍 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发…

vue+lodop实现web端打印功能

lodop官网下载地址&#xff1a;http://www.c-lodop.com/download.html 1、下载插件&#xff08;如果只是想实现打印功能&#xff0c;下载红框里的即可&#xff09; 2、解压缩&#xff0c;然后根据自己的操作系统安装控件 32位系统安装&#xff1a;install_lodop32.exe&#x…

电脑卡顿反应慢怎么处理?5个方法,让操作更流畅

当你的电脑开始像年迈的蜗牛一样缓慢爬行&#xff0c;每一个点击、每一次滑动都变成了无尽的等待&#xff0c;是不是感到无比沮丧&#xff1f;电脑卡顿反应慢怎么处理呢&#xff1f;别急&#xff0c;这里有5个妙招&#xff0c;能让电脑重新焕发生机&#xff0c;飞驰起来&#x…

【大模型LLM面试合集】大语言模型基础_LLM为什么Decoder only架构

LLM为什么Decoder only架构 为什么现在的LLM都是Decoder only的架构&#xff1f; LLM 是 “Large Language Model” 的简写&#xff0c;目前一般指百亿参数以上的语言模型&#xff0c; 主要面向文本生成任务。跟小尺度模型&#xff08;10亿或以内量级&#xff09;的“百花齐放”…

力扣2356.二维差分模板——子矩阵元素加1

力扣2356.二维差分模板——子矩阵元素加1 模板题 最后将n2*n2的矩阵删去周围一圈变成n*n矩阵的操作 class Solution {public:vector<vector<int>> rangeAddQueries(int n, vector<vector<int>>& queries) {vector<vector<int>> res…

PCB设计中连接位对产品的影响有多大?

PCB设计中的连接位&#xff0c;通常指的是电路板上用于连接电子元件的焊盘或连接点&#xff0c;对最终成品会产生巨大影响。在设计过程中&#xff0c;与PCB制造厂商的沟通至关重要&#xff0c;特别是关于连接位的详细参数和设计规范&#xff0c;与厂商讨论适合连接位的制造工艺…

tensorflow1.x 基础案例1

从一些基础案例中慢慢掌握tensorflow&#xff1a; 1.1 用tensorflow打印“hello&#xff0c;world” 为什么首先学习hello world&#xff1f; 快速熟悉TensorFlow的基本用法和工作流程。"Hello World"不需要复杂的依赖&#xff0c;这有助于快速搭建TensorFlow环境…