当前位置: 首页 > news >正文

[ant-design-vue] tree 组件功能使用

[ant-design-vue] tree 组件功能使用

  • 描述
  • 环境信息
    • 相关代码
    • 参数说明

描述

是希望展现一个树形的菜单,并且对应的菜单前有复选框功能,但是对比官网的例子,我们在使用的过程中涉及到对半选中情况的处理:

在这里插入图片描述

半选中状态:
选中子节点中的一个leaf节点后,该节点是被选中的,但是其它节点是未选中的,那么此时父节点 parent1 与parent 1-0 都是半选中状态

在这里插入图片描述

全选中状态:
被选中的子节点leaf是全选中状态;
所有子节点都被选中的父节点是全选中状态;

所以关于Api中的selectedKeys和checkedKeys 在设置时有很多疑问,所以在研究后记录一下

环境信息

    "ant-design-vue": "^3.2.13","vue": "^3.2.45",

相关代码

<template><a-tree checkable :showLine="true" :showIcon="true" :tree-data="tree.data" v-model:selectedKeys="check" v-model:checkedKeys="checked" @check="checkNode"></a-tree>
</template>
<script lang="ts" setup>
import { ref, reactive } from "vue";
export default defineComponent({name: "page-tree",setup(){const checkedKeys = reactive({checked: [],//初始化所有选中叶子节点check: [],//当前全选中节点halfCheckedKeys: []//当前半选中节点});const initTreeCheckedKeys = () => {checkedKeys.checked=[1,2,5,6]//排除了所有半选中的节点};const checkNode = (check, event) => {checkedKeys.check = deepClone(check);checkedKeys.halfCheckedKeys = deepClone(event.halfCheckedKeys);};const sumit=()=>{//所有节点:包括全选中与半选中的所有节点const allCheckedId=[...checkedKeys.check,...checkedKeys.halfCheckedKeys]}initTreeCheckedKeys()return {...toRefs(checkedKeys),checkNode}}
})
</script>

参数说明

checkedKeys:根据 checkedKeys 的api说明,传递的只能是所有的叶子节点,不能包含所有的父级节点,否则根据联动规则,对应父级节点的所有子节点都被选中对的。该参数是初始化全选中的节点。

selectedKeys:操作之后的当前全选中节点

checkNode(check, event)参数说明:
check:全选中的所有节点(包括父节点与子节点)
event.halfCheckedKeys:半选中节点(仅仅包含半选中节点)

在这里插入图片描述

相关文章:

[ant-design-vue] tree 组件功能使用

[ant-design-vue] tree 组件功能使用描述环境信息相关代码参数说明描述 是希望展现一个树形的菜单&#xff0c;并且对应的菜单前有复选框功能&#xff0c;但是对比官网的例子&#xff0c;我们在使用的过程中涉及到对半选中情况的处理&#xff1a; 半选中状态&#xff1a; 选中…...

QT父子窗口事件传递与事件过滤器

处理监控系统的时候遇到问题&#xff0c;在MainWidget中创建多个子Widget的时候&#xff0c;原意是想鼠标点击先让MainWidget截获处理后再分派给子Widget去处理&#xff0c;但调试后发现如果子Widget重新实现了事件方法&#xff0c;就直接处理掉事件了&#xff0c;没有进到Main…...

【2.4 golang中的循环语句for】

- 循环语句for 1. 循环语句for 1.1.1. Golang for支持三种循环方式&#xff0c;包括类似 while 的语法。 for循环是一个循环控制结构&#xff0c;可以执行指定次数的循环。 语法 Go语言的For循环有3中形式&#xff0c;只有其中的一种使用分号。 for init; condition; pos…...

Windows 系统下 Apache 和 php 环境怎么搭建?

传统搭建方法在 Windows 系统下&#xff0c;可以通过以下步骤来搭建 Apache 和 PHP 环境&#xff1a;1.下载 Apache 在 Apache 官网下载最新版本的 Apache&#xff0c;例如下载地址为 https://httpd.apache.org/download.cgi。2.安装 Apache 将下载的 Apache 压缩包解压到某个目…...

Python基础知识——字符串、字典

字符串 在Python中&#xff0c;字符和字符串没有区别。可能有些同学学过其他的语言&#xff0c;例如Java&#xff0c;在Java中&#xff0c;单引号’a’表示字符’a’&#xff0c;双引号"abc"表示字符串"abc"&#xff0c;但在Python当中&#xff0c;它们没…...

JVM常用指令

JVM常用指令1.准备工作2.jps3. jconsole4.jstat5.jstack6.jmap7.jvisualvm工具8.自动dump内存信息1.准备工作 在idea中编写代码 public class JVMTest {Testpublic void test() throws InterruptedException {while (true) {Thread.sleep(1000);System.out.println(123);}} }…...

排序中常见的一些指标

1、错误率与精度 错误率与精度是分类任务中最常用的两种性能度量&#xff0c;错误率是指分类错误的样本占样本总数的比例&#xff0c;精度则是分类正确的样本数占样本总数的比例。 错误率&#xff1a; 精度&#xff1a; 2、准确率/召回率/FScore True Positive(真正例, TP)&…...

51单片机入门————数码管显示

我们在马路上看到的红绿灯&#xff0c;就是由数码管来实现的&#xff0c;就是其中可能加入了一些延时和转换数码管是通过控制138译码器与74HC245来控制数码管的亮灭与数字的显示电路原理图我们先讨论一个数码管数码管有共阳极和共阴极&#xff0c;我们现在使用的STC89C52是共阴…...

Spring事务未生效场景

一.抛出事务不支持的异常 原理&#xff1a; Spring事务默认支持RuntimeException异常&#xff0c;抛出的异常为RuntimeException异常及其子类异常事务均可生效&#xff0c;而我们日常常见的异常基本都继承自RuntimeException&#xff0c;所以无需指定异常类型事务也能生效。但…...

servlet注解开发

文章目录servlet注解开发内容回顾响应对象 HttpServletResponse重定向与请求转发ServletConfig简介案例ServletContext简介案例Servlet 注解开发简介注解使用案例WebServlet 注解详细参数综合的增删改查案例登录注册功能servlet注解开发 内容回顾 响应对象 HttpServletRespon…...

mysql一联合主键

联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键&#xff0c;这个组合在数据表中是唯一&#xff0c;且加了主键索引。 可以这么理解&#xff0c;比如&#xff0c;你的订单表里有很多字段&#xff0c;一般情况只要有个订单号bill_no做主键就可以了&…...

openpnp - 判断吸嘴是否指定了正确的旋转轴

文章目录openpnp - 判断吸嘴座是否指定了正确的旋转轴概述笔记吸嘴单独矫正的时候Calibrate precise camera ↔ nozzle N1 offsets.ENDopenpnp - 判断吸嘴座是否指定了正确的旋转轴 概述 如果没有指定吸嘴座的正确旋转轴, 会因为对应吸嘴该旋转时不旋转, 而是另外一个空闲的吸…...

【办公类-19-03】办公中的思考——Python批量统一文件名的序号(保教主任整理打印文件)

背景需求&#xff1a;为迎接督导检查&#xff0c;保教主任从各条线收集文本资料。并在每个文件名称前手动编号。但是她嘀咕道&#xff1a;”为什么两套资料放在一个文件里就不是按照数字序号排序&#xff1f;&#xff0c;有的是1X-&#xff0c;有的是40X&#xff0c;看起来很乱…...

MySQL约束

约束约束总结约束 1、概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 2、目的&#xff1a;保证数据库中数据的正确、有效性和完整性。 3、分类&#xff1a; 注意&#xff1a;约束是作用于表中字段上的&#xff0c;可以在创建表/修改表…...

x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建

文章目录[toc]关于 docker 版本查看是否开启 experimental 功能开启 experimental 功能查看当前环境平台拉取一个 arm 平台的容器运行一个 arm 平台的容器整一个 qemu-user-static注册可支持的架构解释器尝试启动 arm64 镜像尝试启动 ppc64le 镜像后台运行 arm64 容器build 一个…...

找工作经验分享

好的简历的特点&#xff1a;简洁&#xff1a;不要使用花里胡俏的简历模板&#xff0c;一般就是一行行写下来那种就行主次分明&#xff1a;一定要有重点&#xff0c;让面试了解你强项是什么首先当然是突出技术&#xff0c;不要花大批篇幅在个人信息、兴趣爱好等&#xff0c;重点…...

C语言学习之路--操作符篇,从知识到实战

目录一、前言二、操作符分类三、算术操作符四、移位操作符1、左移操作符2、右移操作符五、位操作符拓展1、不能创建临时变量&#xff08;第三个变量&#xff09;&#xff0c;实现两个数的交换。2、编写代码实现&#xff1a;求一个整数存储在内存中的二进制中1的个数。六、赋值操…...

【华为OD机试2023】端口合并 C++ Java Python

【华为OD机试2023】端口合并 C++ Java Python 前言 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能最优),不能保证通过率。 Tips1:机试为ACM 模式 你的代码需要处理输入输出,input/cin接收输入、…...

C++常用头文件整理

#include <iostream> 输入输出流&#xff0c;调用该函数使用cin&#xff0c;cout#include <iomanip> mainp是mainpular(操纵器)的缩写&#xff0c;可以调用一些函数&#xff0c;如fixed()<<setprecision()等#include <cmath> 调用数学函数#include &l…...

Linux内核4.14版本——drm框架分析(2)——connector分析

目录 1. drm_connector结构体 1.1 struct list_head head 1.2 struct drm_mode_object base 1.3 base.properties 1.4 uint32_t encoder_ids[DRM_CONNECTOR_MAX_ENCODER] 1.5 struct drm_encoder *encoder 1.6 struct list_head probed_modes 1.7 struct list_head mod…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...