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

React Draggable插件实现拖拽功能

React Draggable插件实现拖拽功能

  • 1.下载Draggable插件
  • 2.引入Draggable插件
  • 3.设置一个div,并设置样式,并用Draggable包裹起来
  • 4.设置拖拽的范围
  • 5.Draggable常用props


1.下载Draggable插件

npm install react-draggable

在这里插入图片描述

2.引入Draggable插件

// 引入拖拽插件
import Draggable from 'react-draggable';

3.设置一个div,并设置样式,并用Draggable包裹起来

import "./index.css"
// 引入拖拽插件
import Draggable from 'react-draggable';
export default function IndexPage() {return (<div>{/* 给他设置一个父级 */}<div className="fu"><Draggable ><div className="top">这是上面的页面</div></Draggable></div></div>);
}
.top {background-color: green;width: 300px;height: 300px;
}
.fu{background-color: red;width: 800px;height: 500px;border-end-end-radius: 0;
}

这样就可以进行全局的拖拽,(他是可以拖拽出到屏幕外面的)

4.设置拖拽的范围

import "./index.css"
// 引入拖拽插件
import Draggable from 'react-draggable';
export default function IndexPage() {return (<div><div className="fu"><Draggable bounds={{right: 500, left: 0,top:0,bottom:200} }  ><div className="top">这是上面的页面</div></Draggable></div></div>);
}

这样就是只能在父级div中进行拖拽
或者可以写成

import "./index.css"
// 引入拖拽插件
import Draggable from 'react-draggable';
export default function IndexPage() {return (<div><div className="fu"><Draggable bounds={".fu"}  ><div className="top">这是上面的页面</div></Draggable></div></div>);
}

5.Draggable常用props

allowAnyClick: boolean // 默认false,设为true非左键可实现点击拖拽
axis: string // 'x':x轴方向拖拽、'y':y轴方向拖拽、'none':禁止拖拽
bounds: { left: number, top: number, right: number, bottom: number } | string // 限定移动的边界,接受值://(1)'parent':在移动元素的offsetParent范围内//(2)一个选择器,在指定的Dom节点内//(3){ left: number, top: number, right: number, bottom: number }对象,限定每个方向可以移动的距离
cancel:制定给一个选择器组织drag初始化,例如'.body'
defaultClassName:string // 拖拽ui类名,默认'react-draggable'
drfaultClassNameDragging:string // 正在拖拽ui类名,默认'eact-draggable-dragging'
defaultClassNameDragged:string //拖拽后的类名,默认'react-draggable-dragged'
defaultPosition:{ x: number, y: number } // 起始x和y的位置
disabled:boolean // true禁止拖拽任何元素
grid:[number, number] // 正在拖拽的网格范围
handle:string // 初始拖拽的的选择器'.handle'
offsetParent:HTMLElement // 拖拽的offsetParent
onMouseDown: (e: MouseEvent) => void // 鼠标按下的回调
onStart: DraggableEventHandler // 开始拖拽的回调
onDrag:DraggableEventHandler // 拖拽时的回调
onStop:DraggableEventHandler // 拖拽结束的回调
position: {x: number, y: number} // 控制元素的位置
positionOffset: {x: number | string, y: number | string} // 相对于起始位置的偏移
scale:number // 定义拖拽元素的缩放

相关文章:

React Draggable插件实现拖拽功能

React Draggable插件实现拖拽功能1.下载Draggable插件2.引入Draggable插件3.设置一个div&#xff0c;并设置样式&#xff0c;并用Draggable包裹起来4.设置拖拽的范围5.Draggable常用props1.下载Draggable插件 npm install react-draggable2.引入Draggable插件 // 引入拖拽插件…...

MySQL-运算符

算术运算符: 加法运算-: 减法运算*: 乘法运算/: 除法运算&#xff0c;返回商%: 求余运算&#xff0c;返回余数例&#xff1a;创建n5表&#xff0c;插入数字100&#xff0c;查看数据表分别查看、-、*、/、%mysql> create table n5(-> num int); Query OK, 0 rows affected…...

Hudi-基本概念(时间轴、文件布局、索引、表类型、查询类型、数据写、数据读、Compaction)

文章目录基本概念时间轴(TimeLine)文件布局&#xff08;File Layout&#xff09;Hudi表的文件结构Hudi存储的两个部分Hudi的具体文件说明索引&#xff08;Index&#xff09;原理索引选项全局索引与非全局索引索引的选择策略对事实表的延迟更新对事件表的去重对维度表的随机更删…...

数据分享|中国各省、各市、各区县分年、分月、逐日平均气温数据(2000年~2019年)

今天分享给大家的是 2000 年~2019 年中国各省、各市、各县的分年、分月、逐日的平均气温数据(单位:摄氏度) 原始数据来源于国家气象科学数据共享服务平台-中国地面气候资料日值数据集(V3.0),原始数据是各个观测站点的日度数据,为了方便大家使用,我使用 Barnes 方法(…...

steam/csgo搬砖,2023年最暴利的项目

这个项目赚钱主要来源于两个地方&#xff1a; 1.比如说今天美元的汇率是1美元6.8人民币&#xff0c;那我们有特定的渠道能拿到1美元5.0-5.5左右人民币的价格&#xff0c;100美元的汇率差利润就有180元左右的利润&#xff0c;当然这个价格是根据国际的汇率上下会有浮动的。 2.…...

RDSDRDSPolarDBPolarDB-X的区别

RDS 阿里云关系型数据库&#xff08;Relational Database Service&#xff0c;简称RDS&#xff09;&#xff0c;是一种稳定可靠、可弹性伸缩的在线数据库服务。 基于阿里云分布式文件系统和高性能存储&#xff0c;RDS支持MySQL、SQL Server、PostgreSQL和PPAS&#xff08;Post…...

【Python学习笔记】30.Python3 命名空间和作用域

前言 本章介绍Python的命名空间和作用域。 命名空间 先看看官方文档的一段话&#xff1a; A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries。 命名空间(Namespace)是从名称到对象的映射&#xff0c;大…...

后量子 KEM 方案:Kyber

参考文献&#xff1a; Bos J, Ducas L, Kiltz E, et al. CRYSTALS-Kyber: a CCA-secure module-lattice-based KEM[C]//2018 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2018: 353-367.Avanzi R, Bos J, Ducas L, et al. Crystals-kyber[J]. NIST…...

2019年广东工业大学腾讯杯新生程序设计竞赛(同步赛)

同步赛链接 A-原初的信纸(最值&#xff0c;STL&#xff09; 题意&#xff1a; 找 n 个数的最大值. 参考代码&#xff1a; void solve() {int n;std::cin >> n;std::vector<int> a(n);for (auto &c : a)std::cin >> c;std::cout << *max_element…...

生产Nginx现大量TIME-WAIT,连接耗尽,该如何处理?

背景说明&#xff1a; 在尼恩读者50交流群中&#xff0c;是不是有小伙伴问&#xff1a; 尼恩&#xff0c;生产环境 Nginx 后端服务大量 TIME-WAIT &#xff0c; 该怎么办&#xff1f; 除了Nginx进程之外&#xff0c;还有其他的后端服务如&#xff1a; 尼恩&#xff0c;生产环境…...

Linux服务器clang-13安装(环境变量配置)

1.从llvm的github网址选择合适的release合适的运行平台进行下载&#xff0c;下载官方预编译的二进制压缩包。 2.将下载好的压缩包进行本地上传。 使用scp命令进行上传 scp -r -P 端口号 本地文件路径 服务器ID等:服务器上目标地址 3.解压(tar命令&#xff09; 4.环境变量配…...

【C++】C/C++内存管理模板初阶

文章目录一、 C/C内存管理1. C/C内存分布2. C内存管理方式3. operator new与operator delete函数4. new和delete的实现原理5. 定位new表达式6. 常见面试题malloc/free和new/delete的区别内存泄漏二、模板初阶1. 泛型编程2. 函数模板3. 类模板一、 C/C内存管理 1. C/C内存分布 …...

笙默考试管理系统-index展示

public class PageList<T> : List<T> { public int PageIndex { get; private set; } //页索引 public int PageSize { get; private set; }//页大小 public int TotalPage { get; private set; }//总页数 public int TotalCo…...

前端基础知识6

谈谈你对语义化标签的理解语义化标签就是具有语义的标签&#xff0c;它可以清晰地向我们展示它的作用和用途。 清晰的代码结构&#xff1a;在页面没有css的情况下&#xff0c;也能够呈现出清晰的代码内容 有利于SEO: 爬虫依赖标签来确定关键字的权重&#xff0c;因此可以和搜索…...

【项目精选】智慧物业管理系统

点击下载源码 1、 选题的背景、研究目的和意义 1&#xff09;选题的背景 智慧物业是物业发展的必然趋势&#xff0c;是物业管理的一种新理念&#xff0c;是 新形势下社会管理创新的一种新模式。 随着人工智能、大数据、互联网等高新技术的发展&#xff0c;物业管理企 业先后试…...

解决HC-05/HC06等蓝牙模块的调试问题

解决HC-05/HC06等蓝牙模块的调试问题问题&#xff1a;1.无法使用USB转串口工具设置HC-05等蓝牙模块&#xff0c;具体问题是&#xff1a;发送AT指令&#xff0c;无回复&#xff1b;2.电脑如何连接HC-05模块&#xff0c;与模块通信&#xff08;具体场景&#xff1a;HC-05模块的串…...

dfs(八)数字的全排列 (含有重复项与非重复项)

如果每个数字任意取的话。就不需要加book标志位 没有重复项数字的全排列_牛客题霸_牛客网 描述 给出一组数字&#xff0c;返回该组数字的所有排列 例如&#xff1a; [1,2,3]的所有排列如下 [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1]. &#xff08;以数字在数组中的位…...

基于微信小程序的医院挂号系统小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…...

工程经验:残差连接对网络训练的巨大影响

文章目录1、没有使用残差连接的网络难以训练2、loss 不下降的原因3、使用了残差连接的网络可以高效训练1、没有使用残差连接的网络难以训练 经典的 SegNet 网络结构如下&#xff1a; 在使用上图所示的 SegNet 作为噪声预测网络训练扩散模型&#xff08;DDPM&#xff09;时&…...

靓号管理-搜索

搜索手机号&#xff1a; 最后一条就是使用的关键mobile__contains 使用字典&#xff1a; 后端的逻辑&#xff1a; """靓号列表"""data_dict {}search_data request.GET.get(q, "")# 根据关键字进行搜索&#xff0c;如果关键字存在&…...

B站发帖软件哪个好用?好用的哔哩哔哩发帖工具

B站发帖软件哪个好用?好用的哔哩哔哩发帖工具#发帖软件#哔哩哔哩发帖#视频发布软件 登录成功之后&#xff0c;进入到这样一个界面&#xff0c;默认情况下是这个样子的&#xff0c;我们在这里输入一下我们的一个文件夹的路径&#xff0c;输入到这里&#xff0c;点击添加账号&a…...

docker

docker ps docker images 拉取ubuntu镜像 docker pull ubuntu 启动 docker start podid 进入bash界面 docker exec -it podid /bin/bash 安装sudo apt-get install sudo 更新使配置生效 sudo apt update 安装vim apt-get install vim 安装中文包 sudo apt-get i…...

Django by Example·第三章|Extending Your Blog Application@笔记

Django by Example第三章|Extending Your Blog Application笔记 之前已经写过两章内容了&#xff0c;继续第三章。第三章继续对博客系统的功能进行拓展&#xff0c;其中将会穿插一些重要的技术要点。 部分内容引用自原书&#xff0c;如果大家对这本书感兴趣 请支持原版Django …...

23.2.13 Drive development 设备树信息解析相关代码

1.练习课上代码 2.把设备树信息解析相关函数按照自己的理解发布CSDN 3.复习中断相关内核 IO多路复用---epoll 核心内容&#xff1a;一棵树一个链表三个方法 epoll会将要监听的事件文件描述符添加到内核里一颗红黑树上&#xff0c;当有事件发生&#xff0c;epoll会调用回调函数…...

智能工厂以MES系统为基础,实现"信息化减人,自动化换人"

MES是一种生产信息化的管理系统&#xff0c;它适用于制造业的车间实施层面。MES能够为企业提供生产数据、项目看板、库存、成本、工装、生产计划、计划排程、质量、人力资源、采购、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块&#xff0c;为企业打造一个扎实…...

【数据挖掘实战】——电力窃漏电用户自动识别

【数据挖掘实战】——电力窃漏电用户自动识别一、背景和挖掘目标二、分析方法与过程1、初步分析2、数据抽取3、探索分析4、数据预处理5、构建专家样本三、构建模型1、构建窃漏电用户识别模型2、模型评价3、进行窃漏电诊断拓展思考项目代码地址&#xff1a;https://gitee.com/li…...

树莓派 安装 宝塔linux面板5.9. 2023-2-13

​​​​​​​ 一.环境 1.硬件环境: 树莓派3b , 8GB tf卡 ,micro usb电源 2.网络环境: 网线直连路由器 , 可访问互联网 3.软件环境: 树莓派操作系统 CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-2009-sda(linux) 系统刻录工具 Win32DiskImager (win) ip扫描工具 Adv…...

如何提高短视频的播放量-4个技巧

做短视频自媒体&#xff0c;点击率是第一位&#xff0c;点击量越多&#xff0c;粉丝也就越多。可是&#xff0c;怎么才能增加短视频的点击率和提高播放量呢&#xff1f;今天就来教大家4个技巧&#xff1a; 1、蹭热点 热门话题自带流量&#xff0c;它的热度和价值&#xff0c;是…...

搜索二叉树

文章目录二叉搜索树模拟实现InsertInsertR()EraseEraseR搜索树的价值实现代码二叉搜索树 在二叉树的基础之上, 左子树的值都比根节点小&#xff0c;右子树都更大。那么他的左右子树也分别叫做二叉搜索树。 查找一个节点,最多查找高度次(建立在这个树是比较均衡的).10亿里面找…...

CentOS8基础篇5:用户账号与用户组的创建

一、用户与用户组概念 Linux是一个多用户、多任务的服务器操作系统&#xff0c;多用户多任务指可以在系统上建立多个用户&#xff0c;而多个用户可以在同一时间内登录同一个系统执行各自不同的任务&#xff0c;而互不影响。 Linux用户是根据角色定义的&#xff0c;具体分为三…...

汕头汽车网站建设/竞价托管如何托管

一、块元素&#xff1a;<h1>~<h6>,<p>,<div>,<ul>,<li>其中<div>标签是最典型的块元素 1、比较霸道&#xff0c;自己独占一行 2、高度、宽度、外边距以及内边距都可以控制 3、如果不给任何高或者宽&#xff0c;默认与父亲一样 4、是…...

手机wap购物网站模板/关键词排名优化营销推广

概述 循环创建按钮, 进行按钮单选或者多选的操作.详细 代码下载&#xff1a;http://www.demodashi.com/demo/10712.html 我们经常会有多行多列按钮的页面, 这个时候我们通常会选择循环创建按钮, 然后进行按钮单选或者多选的操作! 一、程序实现 一. 单选逻辑处理 1. 创建按钮控件…...

专业简历制作公司/seo是什么姓

昨天把一个数据表的字段从普通索引&#xff0c;修改成为了唯一索引。准备早早下班的时候&#xff0c;突然发现数据库的内存命中率从98%下降到了48%&#xff0c;导致大量的任务处于阻塞状态&#xff0c;整个系统也阻塞了。其实这个就是普通索引和唯一索引使用不当引起的原因。下…...

1元购类似网站架设药多少钱/武汉大学人民医院地址

转自&#xff1a;https://blog.csdn.net/qq_31628285/article/details/75139909?utm_sourceblogxgwz0 IntelliJ IDEA 2017创建JavaEE项目 本博文是博主今天上午使用的这款完全陌生的IDE的痛苦探索过程&#xff0c;本文简单介绍了一种新的IDE : IntelliJ 来开发JavaEE或者Web&a…...

官方网站做兼职/凡科网

文章目录1. axios 介绍2. CORS(cross-origin resource sharing) 同源策略3. Vue的代理服务器 方式一3.1 方式一&#xff1a;配置一个代理服务器3.2 方式一&#xff1a;代理服务器会出现两个问题4. Vue的代理服务器 方式二4.1 方式二&#xff1a;配置代理服务器4.2 方式二配置的…...

卖童书的网站该怎么做/合肥网

遇到一个需求&#xff0c;需要备份Access数据库&#xff0c;Access生成的数据都保存在xx.mdb文件中&#xff0c;所以考虑使用windows任务 定时执行一个备份文件的bat文件来解决这个问题。 backup.bat文件代码&#xff1a; echo off Set nowdate%date:~,10% copy E:\Testing\Dem…...