当前位置: 首页 > 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:半选中节点(仅仅包含半选中节点)

在这里插入图片描述

http://www.lryc.cn/news/28758.html

相关文章:

  • QT父子窗口事件传递与事件过滤器
  • 【2.4 golang中的循环语句for】
  • Windows 系统下 Apache 和 php 环境怎么搭建?
  • Python基础知识——字符串、字典
  • JVM常用指令
  • 排序中常见的一些指标
  • 51单片机入门————数码管显示
  • Spring事务未生效场景
  • servlet注解开发
  • mysql一联合主键
  • openpnp - 判断吸嘴是否指定了正确的旋转轴
  • 【办公类-19-03】办公中的思考——Python批量统一文件名的序号(保教主任整理打印文件)
  • MySQL约束
  • x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建
  • 找工作经验分享
  • C语言学习之路--操作符篇,从知识到实战
  • 【华为OD机试2023】端口合并 C++ Java Python
  • C++常用头文件整理
  • Linux内核4.14版本——drm框架分析(2)——connector分析
  • dev GridControl 按条件纵向合并单元格
  • aws eks 集群初始化过程中pause容器的启动逻辑
  • Numpy专栏目录(长期更新)
  • English Learning - L2 第1次小组纠音 [ɑː] [ɔː] [uː] 2023.2.25 周六
  • 博客系统程序(页面设计)
  • 【死锁的排查工具有哪些?】
  • JUC包:CyclicBarrier源码+实例讲解
  • Trace、Metrics、Logging 选型
  • Java验证码
  • 5天带你读完《Effective Java》(四)
  • 探索密码学的未来:SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算