也在 H5-Dooring 项目中做了很多技术实现, 包括:
还有很多技术细节这里不一一举例了, 最近在研究自由布局时发现有这样一个需求, 我们可以自由拖拽和缩放组件, 并能从组件的不同纬度拖拽, 如下图所示:
由于我们的技术栈采用的是 React, 目前还没有一个成熟库可以同时支持自由拖拽和缩放, 我们不得不用 react-dragable 和 react-resiable两个库来实现拖拽和缩放, 但是这样我们要维护的数据结构就相当复杂了(当然vue生态有成熟的vue-dragable等来支持自由拖拽和缩放), 所以最后笔者决定自己来实现一个.
我们从可视化搭建平台的实际业务出发, 可以分析出拖拽缩放有如下几个功能点:
实现以上四点我们就可以实现一个可用的拖拽缩放组件. 接下来笔者就来介绍一下实现的开源拖拽缩放组件rc-drag.
实现自由拖拽
rc-drag未压缩的体积只有20多k, 去除注释核心代码不到200行, 可以说是一个非常轻量的拖拽缩放组件库了, 我们要想让自己的组件能自由拖拽, 只需要使用如下方式:
1.安装
- npm i @alex_xu/rc-drag
- # 或
- yarn add @alex_xu/rc-drag
2.基本使用
- <div id="box" style={{position: 'relative', width: '500px', height: '260px'}}>
- <Drag container="#box" size={[200, 200]}>
- <p>Mr xu</p>
- </Drag>
- </div>
AnalyticDB for MySQL是云端托管的PB级高并发低延时数据仓库 通过AnalyticDB for...
本文转载自微信公众号「见贤思编程」,作者泰斗贤若如 。转载本文请联系见贤思编...
文本作者:刘晓国,Elastic 公司社区布道师。新加坡国立大学硕士,西北工业大学...
云计算服务正在以前所未有的速度在各行各业快速普及,成为IT应用的最主流实现形...
前言 语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无...
鉴于近期加密货币大涨,导致很多小(韭)白(菜)纷纷入场,然后很多人都在问显卡挖...
日前 阿里云云效联合阿里云大学团队 面向全国高校学子正式启动了83行代码重构大...
客户介绍 闲鱼是依托阿里电商体系的前台型业务,有非常独特的业务特点和用户诉求...
场景描述 最近使用 Redis 遇到了一个类似分布式锁的场景,跟 Redis 实现分布式锁...
近期进展 在 ffmpeg-go init 之后,项目也收到了一些关注,还有几个同学发邮件探...