react拖拽插入排序

react拖拽插入排序
  • 2024-09-05
表格拖拽排序:组件地址:https://reactabular.js.org/#/drag-and-drop 拖动的排序是用React-DnD:React-DnD:http://react-dnd.github.io/react-dnd/ Tree树形空间的拖动控件:Ant Design:https://ant.design/index-cn
定义css, 两个动画 .drag-up { -webkit-animation: dragup ease 0.2s 1; animation: dragup ease 0.2s 1; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; background-color: red; } .drag-down { -webkit-animation: dragdown ease 0.2s 1; animatio
仓库地址:Dragact手感丝滑的拖拽布局组件 预览地址:支持手机端噢- 上回我们说到,Dragact组件已经进行了一系列的性能优化,然而面对大量数据的时候,依旧比较吃力,让我们来看看,优化之前的Dragact. 纵向堆叠着314个方块,插入时明显的卡顿,大约1秒的延迟 同样纵向堆叠着314个方块,插入时卡顿明显减少很多,可以接受 在实际生产过程中,可能不会有那么多物块,就拿我们项目的dashboard来说,整个屏幕最多只有10个方块,就已经是了不起了. 但是强迫症犯了,为了使得性能达到极致,再
前几天写的那个拖拽,自己留下的疑问...这次在热心博友的提示下又修正了一些小小的bug,也加了拖拽的边缘检测部分...就再聊聊拖拽吧 一.不要直接操作dom元素 react中使用了虚拟dom的概念,目地就是要尽量避免直接操作dom元素,所以我们在对dom元素进行操作的时候需要注意,我之前为了获取form的参数就直接用了var dragBox=document.getElementById('form')去找dom,但是其实记录from的初始位置,可以在其子组件更新父组件参数的时候调用.即在MyF
一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖拽效果. 首先,其实拖拽效果的思路是很简单的.主要就是三个步骤: 1.onmousedown的时候,启动可拖拽事件,记录被拖拽元素的原始坐标参数. 2.onmousemove的时候,实时记录鼠标移动的距离,结合被拖拽元素第一阶段的坐标参数,计算并设置新的坐标值. 3.onmouseup的时候,关闭可拖拽事件
这是可视化编辑器 Gaea-Editor 的第一篇连载分析文章,希望我能在有限的篇幅讲清楚制作这个网页编辑器的动机,以及可能带来的美好使用前景(画大饼).它会具有如下几个特征: 运行在网页 文档流布局,绝对定位同时支持 对插入的任何 React 组件都可以直接作为编辑元素拖拽到页面中 兼容 React-Native 的 web 组件可以让它生成 android 和 ios 原生页面 拥有 Gaea-Preview 套件,传入 Gaea-Editor 生成的 json,可以立刻生成页面 拥有 Ga
实现效果:(可戳 https://codepen.io/wenr/pen/EGEQxp 查看) 因为工作中会用到 JIRA 所以想实现一下相似的功能,顺便学习一下 H5 的拖拽.不支持拖拽改变顺序,感觉有点麻烦,而且没必要.感觉相关的博文好少的,大部分都是直接上代码,没有解释. 图片默认可以拖动,其他元素的拖动效果同图片.正常的 div 是不能被拖动的,鼠标点击选择后移动没有效果,需要加  draggable="true" 使得元素可以被拖动. 拖拽相关的几个事件,有被拖动元素的事件,
强大的拖拽组件:React DnD 的使用 react.js 10.6k 次阅读  ·  读完需要 25 分钟 17 文章首发我的个人blog : 原文链接 学习 React DnD 的最初原因是阅读<如何写一个拖拽日历组件>附的源码时,看不懂拖拽组件 React DnD 的相关代码,于是行动力极强地学习了React DnD这个组件. 本文会通过 在根组件(Contaier.jsx)展示将垃圾(Box.jsx)扔进垃圾桶(Dustbin.jsx)的例子,解释如何使用React DnD最基本的拖
使用鼠标移动图片或者移动图像怪有意思的,那这个移动的效果是怎么实现的呢? 在拖动的过程中,我们会涉及到鼠标向下按,以及移动图形,还有我们松开这几个步骤. 当我们将鼠标向下按的时候,我们鼠标点的这个动作,其实是有一个事件的,那如何确定鼠标 点的位置呢? 我们知道clientX 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(或客户区)的水平坐标. clientY 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(客户区)的垂直坐标. 这样我们就知道了鼠标点的坐标. 通过offsetLeft,
之前用vue做日程管理组件的时候,用到了点击拖拽的效果,即点击元素,鼠标移动到哪里,元素移动到哪里,鼠标松开,拖拽停止,现在在弄react,于是也在想实现这个效果,经过一番折腾,效果出来了,代码如下: <body> <div id="test"></div> </body> <script type="text/babel"> let catDom = ""; let catSwitch
最近做一个拖拽排序的功能找了好几个有一个步骤简单,结合redux最好不过了,话不多说上代码 第一步: npm install react-draggable-tags --save 第二步 sort.js import React from 'react'; import ReactDOM from 'react-dom'; import {DraggableArea} from 'react-draggable-tags'; import './sort.scss'; class Sort e
先来一张图看看: 项目地址:Github地址 (无耻求星!) 在线观看(第一次加载需要等几秒):预览地址 说起来不容易,人在国外没有过年一说,但是毕竟也是中国年,虽然不放假,但是家里总会主内一顿丰盛的年夜饭. 说吧,人家在上班,我在家里过年,那肯定就不同步了. 不同步会发生什么? 拖拽组件 大概三四个月以前,我写了一篇<「实战」React实现的拖拽组件>,只不过,这个组件比较基础,仅仅支持电脑端的使用,而且不能支持拖拽排序,显然不是很符合要求. 也尝试找了几款组件,想改吧改吧就上了,但是一些组
仓库地址:Dragact爽滑的拖拽组件 大家好,新年已经过去,大家又投入了繁忙的工作当中,由于我在国外,因此压根儿没有休息... 少说废话,上周一周的时间里,我陆陆续续的为Dragact组件进行了一系列更新,基本上做了一个大重构,而且做了一小部分性能优化. 新特性1:性能提升 通过对React 组件渲染的优化以及内部算法的优化,把大量的遍历和渲染都省掉. 优化前6s的性能 优化后6s的性能 大家可以看到,同样是跑6s,我们脚本计算时间,渲染时间,浏览器painting时间都有了很大幅度的提升.
前言   Excel功能强大,应用广泛.随着web应用的兴起和完善,用户的要求也越来越高.很多Excel的功能都搬到了sass里面.恨不得给他们做个Excel出来...程序员太难了... 去年我遇到了一个甘特图的需求,做了很多工作,也写了两篇博客.一篇是用 GSTC 这个包做的甘特图,另一篇是自己手写了一个简易的甘特图.两个的效果都不理想,特别是GSTC,问题很多,好多道友看了博客遇到了问题,惭愧,没能帮大家解决这个问题.之前太忙了,这个甘特图就再没搞,知道今天发现了新的包,几乎是完全符合我们的
效果图: import React, { Component } from 'react'; import scaleImage from './images/scale.png'; import closeImage from './images/close.png'; import maskImage from './images/mask.png'; import { Button, message } from 'antd'; class EidtImage extends Compon
一 目标 最近,项目上需要一个可以弹出一个可以移动位置和改变大小的窗口,来显示一下对当前页面的一个辅助内容 二 思路 1.之前写过一个antd modal的可移动弹窗但是毕竟不如自己写的更定制化,比如不需要显示遮罩层,但是移动的思想一致都是鼠标的按下和抬起事件以及坐标位置来计算改变弹窗位置. 2.窗口的的小调节可以用css的resize属性,当然也可以自己写一个指定边框拖拽调整大小的功能,后期可能会更新 三 代码内容 index.js 1 import React, { Component }
在实现复制前,对之前的拖拽排序组件属性进行了修改. 摒弃了value中的content属性,拖拽组件暴露的render函数,利用这个属性进行组件内部子组件的渲染,这点主要是参考了蚂蚁金服的Ant design里面一些组件的设计. 为了实现Data和model的脱藕,和sortKey一样,组件增加codeKey属性. 拖拽复制的效果如下: 由于实现组件的核心是根据value数据来渲染页面,因此实现拖拽复制功能,只需要在"拖拽释放"的时候,将被拖拽方的数据放到当前目标所在的value数组中
最近浏览了张鑫旭大神的基于HTML5 drag/drop模块拖动插入排序删除完整实例,感觉受益匪浅.于是将最做的demo记录下来. 首先浏览一下事件,这些事件比较好记,只要记住用在谁的身上就好了,无非是被推拽的元素和目标元素. 被拖拽元素上触发的事件: 1.ondragstart - 用户开始拖动元素时触发 2.ondrag - 元素正在拖动时触发 3.ondragend - 用户完成元素拖动后触发 目标元素上触发的事件: 1.ondragenter - 当被鼠标拖动的对象进入其容器范围内时触发
一.react-dropzone 官方定义: Simple HTML5-compliant drag'n'drop zone for files built with React.js. 理解: 一个为react量身定制,基于H5 API:drop && drag可以实现拖拽上传文件的npm插件包 是的,以后再也不用自己苦苦地封装drop和drag了, react-dropzone使用非常简单,只需要调用一个事件. 当然这个包是针对于react的(直接作为组件使用),如果需要非组件的,直接
介绍 React DnD 是一组 React 高阶组件,可以用来帮你构建复杂的拖拽接口,同时解耦你的组件.React DnD 非常适合像 Trello 和 Storify 这样的应用,在不同地方通过拖拽转移数据,而组件会改变它们的外观和应用的状态来响应拖拽事件. 基本用法 把应用的根组件包装在 DragDropContext 中 把可以拖拽的组件包装在 DragSource 中 设置 type 设置 spec,让组件可以响应拖拽事件 设置 collect,把拖拽过程中需要信息注入组件的 prop

热门专题