解决Antd Tree组件,二次点击时不取消选中,保持高亮

news2024/11/18 1:38:05

一、问题概述

ant design 提供的 Tree树组件 支持点击高亮树节点,再次点击取消高亮。

默认效果如下:
请添加图片描述

然而大多数业务场景下,我们希望多次点击同一个节点不会取消他的选中效果。

二、解决方案

监听onSelect时间,并使用selectedKeys属性手动控制每次的选中项

import React, { useState } from "react";
import { Tree } from "antd";
import { TreeData } from "@/pages/productCenter/lib/constEnum";

const Index = (props) => {
  const [selectedKeys, setSelectedKeys] = useState(["columns0"]); // 选中的左侧的keys  
  const onSelect = (keys, e) => {
    if (!e.selected) {
      setSelectedKeys([e.node.key]);//改动1
      return;
    }
    setSelectedKeys(keys);
  }

  return (
    <Tree
      className="draggable-tree"
      defaultExpandedKeys={selectedKeys}
      defaultSelectedKeys={selectedKeys}
      selectedKeys={selectedKeys}//改动1
      blockNode
      treeData={TreeData}
      onSelect={onSelect}
    />
  );
};

export default Index;

最终效果如下:
请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PG系列1:windows下安装PG15

文章目录 一. 下载PG二. 开始安装PG2.1 开始安装2.2 验证 一. 下载PG 官网地址: https://www.postgresql.org/选择Download 选择windows Download the installer 点击下载 二. 开始安装PG 2.1 开始安装 这个安装很简单&#xff0c;直接下一步即可&#xff0c;此处…

5.Java内存模型之JMM

Java内存模型之JMM 5.1 先从大场面试开始 你知道什么是Java内存模型JMM吗&#xff1f; JMM和volatile他们两个之间的关系&#xff1f; JMM没有那些特征或者它的三大特征是什么&#xff1f; 为什么要有JMM&#xff0c;它为什么出现&#xff1f;作用和功能是什么&#xff1f; hap…

智能井盖:智慧城市下的井盖管理新模式

随着全球城市化进程的加快&#xff0c;智慧城市的概念越来越受到关注。井盖作为城市的基础设施之一&#xff0c;井盖的安全管理成为城市管理者关注的重要问题。传统的井盖管理方式面临诸多挑战&#xff0c;如人力成本高、巡检效率低、隐患难以发现等。随着智慧城市的发展&#…

leangoo领歌敏捷工具中,如何快速查看项目内所有任务卡片

项目管理员能不能快捷的查看整个项目内的所有任务&#xff1f; 能不能快捷查看项目内某一个成员的所有任务&#xff1f; 能不能快捷的在项目内通过一些条件选择查看任务&#xff1f; 可以导出项目内某一个人的所有任务吗&#xff1f;方便做一些统计 等等... 这些现在Leang…

路径规划 | 图解Informed RRT*算法(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 Informed RRT*原理2 Informed RRT*流程3 ROS C实现4 Python实现5 Matlab实现 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、创新竞赛必备&#xff01;详细介绍全局规划(图搜索、采样法、智能算法等)&#xff1b;局部…

超全、超详细的Redis学习笔记总结

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

「2024」预备研究生mem-消序核心原则

一、消序 二、核心原则 相同备选池 三、练习题

数据库索引简介及优化

索引 1.索引简介 1.1 概念 MySQL官方对索引的定义为&#xff1a;索引&#xff08;Index&#xff09;是帮助MySQL高效获取数据的数据结构。索引的本质&#xff1a;索引是数据结构。 注&#xff1a;在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&…

OOM 原因及解决方案

1. 什么是OOM 1.1 OOM 含义: OOM, 全称 “Out Of Memory”, 意思是 “内存用完了”。 它来源于 java.lang.OutOfMemoryError。 1.2 为什么会出现OOM: 官方介绍为当 JVM 因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时, 就会抛出 java.lang.OutOfMemo…

Windows命令行压缩gz文件

tar -help win10好像是某个版本号之后&#xff0c;才能使用tar命令&#xff0c;所以想要直接在win10上面使用tar命令&#xff0c;就更新系统吧。 按 winr 键后输入 cmd 打开命令行终端&#xff0c;输入 tar -help 命令&#xff0c;如下所示。 tar -cf xxx.tar.gz ./xxx //是…

【电路】电路与电子技术基础 课堂笔记 第11章 数制、编码与逻辑代数

11.1 数制与数制转换 11.2 二进制数的编码 1. 二-十进制&#xff08;BCD&#xff09;码 把十进制数的每一位用多位二进制数表示&#xff0c;称为二进制编码的十进制数&#xff0c;简称BCD编码。 具有二进制数的形式&#xff0c;又具有十进制数的特点。 2. 8421码 3. 2421码…

老板谈上4休3工作制1个月后效果:不建议新公司模仿

大家好&#xff01;我是老洪&#xff01; 刚看到一则关于上4休3工作制的资讯&#xff0c;聊两句。 媒体是这样报道的。 一位长沙公司的老板在实施上4休3工作制一个月后表示&#xff0c;不建议新公司模仿。 他指出&#xff0c;个别员工的自律问题在上四休三后暴露出来&#xff0…

人工智能体系和实战指南

前言 人工智能是一个庞大的研究领域。虽然我们已经在人工智能的理论研究和算法开发方面取得了一定的进展&#xff0c;但是我们目前掌握的能力仍然非常有限。机器学习是人工智能的一个重要领域&#xff0c;它研究计算机如何模拟或实现人类的学习行为&#xff0c;以获取新的知识或…

RetinaNet网络介绍

前言 上一篇博文我们介绍了Focal Loss&#xff0c;原理也比较简单&#xff0c;有不了解的小伙伴可以先跳转到之前的博文了解一下。Focal Loss介绍。这篇博文我们来看下Focal Loss的出处&#xff1a;Focal Loss for Dense Object Detection&#xff0c;这篇论文提出了RetainNet之…

Netty之ByteBuf解读

目录 创建简单使用 直接内存vs堆内存 池化vs非池化 组成 常用写入方法 扩容 读取 retain&release slice 其他拷贝方式 duplicate& copy&CompositeByteBuf Unpooled netty中用于进行信息承载和交流的类叫做ByteBuf&#xff0c;从名字可以看出这是Byte的缓…

【025】C++对C的扩展之引用(reference)详解

C对C的扩展 引言一、struct类型增强二、bool类型关键字三、引用&#xff08;reference&#xff09;3.1、普通变量的引用3.2、数组的引用3.3、指针变量的引用3.4、函数的引用3.5、引用作为函数的参数3.6、引用作为函数的返回值类型3.7、常引用 四、引用的典型应用场景五、引用在…

3D绘制爱心(python)

目录 图像绘制代码结果显示参考 图像绘制代码 import time import numpy as np import matplotlib.pyplot as pltclass Guess:def __init__(self, bbox(-1.5, 1.5), resolution50, lines20, scale1.2) -> None:"""bbox: 控制画格的大小resolution: 控制爱心…

6. WebGPU 纹理(Textures )

在本文中&#xff0c;我们将介绍纹理的基础知识。在之前的文章中&#xff0c;我们介绍了 将数据传递到着色器的主要方法&#xff0c;它们是inter-stage variables, uniforms, storage-buffers, and vertex-buffers。将数据传递到着色器的最后一种主要方式是纹理。 纹理通常表示…

北宋文坛伯乐的传承关系

北宋的科学文化水平达到了古代最高峰&#xff0c;文化繁荣&#xff0c;名人辈出&#xff0c;涌现出了一大批大文豪&#xff0c;文坛领袖&#xff0c;词派宗祖等大师级的人物。例如&#xff0c; “宰相词人”晏殊、“两宋三百年来第一人”的范仲淹、“唐宋散文八大家”中的欧阳修…

java版本工程项目管理系统源码-简洁+好用+全面-工程项目管理

​工程项目管理系统是指从事工程项目管理的企业&#xff08;以下简称工程项目管理企业&#xff09;受业主委托&#xff0c;按照合同约定&#xff0c;代表业主对工程项目的组织实施进行全过程或若干阶段的管理和服务。 ​系统定义 工程项目管理企业不直接与该工程项目的总承包企…