/vue-drag-demo

ts学习 & 可视化拖拽学习

Primary LanguageTypeScript

vue-drag-demo

框选或者ctrl+鼠标左键选中多个组件之后的坐标不是很好处理,由于这个功能我是使用的moveable,有些功能我不能自由发挥,所以暂时就不做 多个组件选中并操作的时候的坐标和角度变更了。

另外,在测试中,这个项目在Google浏览器,Edge浏览器,Arc浏览器行为正常,Firefox浏览器,Safari浏览器行为不正常。
为了最好的使用体验,建议使用上面三种测试正常的浏览器。

先完成这部分

  • 画布拖拽与缩放
  • 拖拽旋转和缩放组件
  • 等比缩放
  • 坐标展示
  • 组件分组以及坐标计算
  • 复制粘贴快捷键
  • 上下左右移动控件的快捷键
  • 框选功能
  • 撤销重做
  • 删除组件
  • 锁定组件 解锁组件
  • 锁定的快捷键
  • 简易预览页面
  • 简单的截图功能【html2canvas的基本使用】
  • 组件上一层下一层功能

当前支持的快捷键

  • 画布拖拽 SHIFT + 鼠标左键
  • 画布缩放 CTRL + 鼠标滚轮
  • 多选 CTRL + 鼠标左键
  • 复制粘贴 CTRL + c / v
  • 上下左右 ⬆️ ⬅️ ⬇️ ➡️
  • 删除 DEL
  • 撤销重做 CTRL + z / y
  • 组件锁定与解锁 CTRL + l / o

当前的组件

  • 梅花生长动画
  • 基础版本扫雷
  • 生命游戏【元胞自动机】
  • 疫情感染模型【元胞自动机 模型规则来自CHATGPT】

更多组件建造中......

由于是第一个vue3+ts项目,这个仓库中的hooks、页面结构和ts类型的使用都有缺陷。

这里面hooks实现了一个比较简单的虚拟滚动,效果不好,没有真正实现减少dom渲染。 关于虚拟滚动的完整实现,我写在了另一个项目 seemrcola/notui 里面