最近笔者专注于研究可视化搭建平台的解决方案, 分析了很多拖拽组件和页面动态化技术, 也在 H5-Dooring 项目中做了很多技术实现, 包括:
搭建平台的组件设计和分类模式
拖拽生成页面方案
动态表单编辑器设计
页面实时预览编译技术
自定义组件和自定义模版方案
多人协作的可视化搭建模式实现
还有很多技术细节这里不一一举例了, 最近在研究自由布局时发现有这样一个需求, 我们可以自由拖拽和缩放组件, 并能从组件的不同纬度拖拽, 如下图所示:
由于我们的技术栈采用的是 React
, 目前还没有一个成熟库可以同时支持自由拖拽和缩放, 我们不得不用 react-dragable
和 react-resiable
两个库来实现拖拽和缩放, 但是这样我们要维护的数据结构就相当复杂了(当然vue
生态有成熟的vue-dragable
等来支持自由拖拽和缩放), 所以最后笔者决定自己来实现一个.
我们从可视化搭建平台的实际业务出发, 可以分析出拖拽缩放有如下几个功能点: