浅尝拖拉拽动态表单, 直接生成前端页面。vue3+element-plus

1,061 阅读1分钟

一. 先上效果

20221017_213354.gif

二. 技术栈

vue3 + vite + element-plus + file-saver + js-beautify + vuedraggable

三. 设计思路

1. 组件选择区(左): 先把常用组件罗列出来, 把组件的属性多熟悉几遍, 好对症下药
2. 页面展示区(中): 主要用来展示已经选择好的组件, 通过数组遍历展示,数组中每一个数据及类型理清楚
3. 参数设置区(右): 区分是组件属性还是表单属性, 这些属性在展示组件的数据中都有定义好的数据类型

四. 生成页面

1. 把正常的.vue页面写好, 用模板字符串处理一下
2. 把动态表单数据根据不同组件类型处理成字符串,插入到模板字符串中
3. 用js-beautify插件把模板字符串格式化一下

五. 补充部分代码截图

中间组件展示区.png

参数设置区.png

生成代码区.png

六. 结束语

其实想做得更完善一下, 比如动态生成表单后, 根据表单动态生成列表页, 列表页包含条件搜索和分页。比如根据动态表单的参数类型动态生成创建单表的sql语句, 动态生成实体类。如果做到这一步, 产品, 后端, 前端在做一些管理系统的时候, 可以更简单直接的沟通.