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

【react组件】矩形框选小组件,鼠标左键选中 div,键盘 ESC 清空

在线预览
GitHub
在这里插入图片描述

demo

import React, { useState } from 'react';
import Chooser from 'rc-chooser';const containerStyle: React.CSSProperties = {display: 'flex',alignItems: 'center',justifyContent: 'center',flexWrap: 'wrap',
};const boxStyle: React.CSSProperties = {width: 40,height: 40,border: '1px solid red',margin: 2,
};const Child = React.memo(({ selected }: { selected: string[] }) => {return (<div className="child" style={containerStyle}>{Array.from({ length: 100 }).map((_, index) => {const isSelected = selected.includes(`${index}`);return (<divkey={index}style={{...boxStyle,backgroundColor: isSelected ? 'blue' : 'white',}}data-id={index}>Div {index + 1}</div>);})}</div>);
});export default () => {const [selected, setSelected] = useState<string[]>([]);const observeHandle = (data: string[]) => {setSelected(data);};return (<div style={{ margin: 20 }}><Chooser observeProp="data-id" observeHandle={observeHandle}><Child selected={selected} /></Chooser></div>);
};
http://www.dtcms.com/a/180445.html

相关文章:

  • Transformer编码器+SHAP分析,模型可解释创新表达!
  • 开源AI对比--dify、n8n
  • 云原生环境下服务治理体系的构建与落地实践
  • 【计算机视觉】OpenCV实战项目: Fire-Smoke-Dataset:基于OpenCV的早期火灾检测项目深度解析
  • 使用Python和OpenCV实现实时人脸检测与识别
  • 【软件测试】测试用例的概念与常见测试的模型
  • 电商平台如何做好DDoS 攻防战?
  • 【Java基础】——JVM
  • 如何获取NumPy数组中前N个最大值的索引
  • SSL证书格式详解:PEM、CER、DER、JKS、PKCS12等
  • 【C++设计模式之Template Method Pattern】
  • 蓝桥杯青少 图形化编程(Scratch)编程题每日一练——图形特效
  • [Windows] 能同时打开多个图片的图像游览器JWSEE v2.0
  • 【TACD模拟】质子辐照对GaN器件临界电压增加的影响机制
  • DIFY教程第七弹:自然语言生成SQL应用
  • 在 Spring Boot 中实现动态线程池的全面指南
  • OpenCV计算机视觉实战(4)——计算机视觉核心技术全解析
  • 全局异常未能正确捕获到对应的异常
  • Spring,SpringMVC,SpringBoot,SpringCloud的区别
  • mysql两张关联表批量更新一张表存在数据,而另一张表不存在数据的sql
  • mysql 已经初始化好,但是用 dbeaver 连接报错:Public Key Retrieval is not allowed
  • 青少年编程与数学 02-019 Rust 编程基础 04课题、基本数据类型
  • 智能指针笔记
  • CST软件如何获取二极管的IV曲线
  • 边缘计算:技术概念与应用详解
  • 黑马Java基础笔记-9
  • C++23 views::chunk_by (P2443R1) 详解
  • Linux网络编程day8本地套接字
  • 【LeetCode Solutions】LeetCode 176 ~ 180 题解
  • Bearer Token的神秘面纱:深入解析HTTP认证头的设计哲学