自定义表单、表单设计器前端开源组件(Vue3)选择

在做低代码平台,后端兼容多种数据库建表、建索引、改字段已经完成,现在要做自定义表单了。我本来也更喜欢后端开发,前端也没花太多时间去学习,第一次用Vue也就看了几天文档就抄别人的代码来开发了,有些底层的原理并不是很明白。现在必须要把重心转到前端了,虽然有点难度,还是要努力克服。

自定义表单的设计、数据渲染之前也看过一个产品的源码。那个源码是基于Vue 2开发,我现在的前端是用Vue 3的;还有就是那代码写得很乱也有很多BUG,所以我想找一下有没有这方便的开源项目。网上搜索一下,其实挺多的,但我要用Vue 3 + Element Plus,就排除了一些,主要考虑以下两个项目:

一、Variant Form 3

这个项目有在Element Plus官网做广告,所以很早就发现它了。支持Vue2Vue3,只支持Element PlusUI框架。有社区版和商业版。
社区版源码:https://gitee.com/vdpadmin/variant-form3-vite

Variant Form 免费版设计器截图

因为它有商业版本,所以文档很齐全,还有教学视频,微信群等。它的二次开发文档需要花20元钱才能下载的,我暂时没有购买。

二、Form Create

官网地址:http://www.form-create.com,之前是Vue2版的,现在也有Vue3版本了。表单渲染能支持5种UI框架:ElementPlus,Ant-design-vue,naive-ui,arco-design,TDesign,但表单设计器只能用Element Plus

表单设计器源码:https://github.com/xaboy/form-create-designer/tree/next
表单展示与渲染源码:https://github.com/xaboy/form-create/tree/next
注意项目的next分支才是Vue3版本的代码,默认分支为Vue2版本。

Form Create设计器截图

Form Create有在线文档、QQ群。基于MIT协议,可以任意使用。

三、对比

项目名 架构 协议 功能 人气(Star)
1.Variant Form 只支持Element Plus 有免费版,也有商业版 4种布局,能Undo/Redo,可设置事件 3365
2.Form Create 支持5种UI框架 MIT协议,任意使用 只有栅格布局 6017

Form Create的社区人气较高,可能是因为它支持多种UI,并且协议宽松。下载源码后捣鼓了很久才编译成功(node版本要14.x才行),因为每一个小控件(文本框、下拉框等)都要单独打包发布,复杂度有点高。试用了之后设计器能用,但渲染器会报错vue-router.mjs:3472 TypeError: Cannot read properties of null (reading 'parentNode') ,我是按示例来写的代码,搞不懂为什么,只能怪它不稳定了。另外缺少子表控件和事件配置,这个很多表单都会用到的,如果自己开发的话,可能也会花很多时间。

Variant Form功能会更强一些,但是子表控件也是商业版本中才有。下载了源码编译成功了,使用时会报错,原来是package.json文件中没有写main属性,导致找不到入口;重新打包后,设计器和渲染器都可以正常使用。

四、总结

我的前端水平不是很强,觉得使用Variant Form更容易上手,就先决定用它来开发我的低代码平台表单功能。

如果你前端技术比较好,或者你想用Element Plus之外的UI的话,可以试下Form Create

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容