发布时间:2023-05-06 文章分类:WEB开发, 电脑百科 投稿人:赵颖 字号: 默认 | | 超大 打印

在日常前端开发中,表单可以说是最常用的一种数据录入及展示组件。如果项目里有成百上千个表单需要手动编写代码,这将极大的一笔极大的人力开支。这时候,选择一款合适的表单设计器,就显得非常重要了,不仅能极大的缩短项目开发周期,而且还能保持各个页面之间风格基本统一。

下面将介绍以下几个表单设计器:

  1. Alibaba/XRender: 阿里 - 很易用的中后台「表单 / 表格 / 图表」解决方案
  2. Alibaba/Formily: 阿里巴巴统一前端表单解决方案
  3. Form Generator:基于Element UI的表单设计及代码生成器
  4. Form-Create:可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件

1. Alibaba/XRender

几款常用的表单设计器解决方案

阿里 - 很易用的中后台「表单 / 表格 / 图表」解决方案

Github:https://github.com/alibaba/x-render
官网地址: https://xrender.fun/

Alibaba/XRender相对于其他几个的优势在于他提供了一整套完整的解决方案合集,包含了:

Alibaba/XRender在结构上遵循 JSON Schema 国际规范。

其中FormGenerator提供了可视化的所见即所得的表单设计界面,支持常用的一些组件,如输入框、日期选择框、数字输入框等一些列组件,设计完成后可以导出JSON Schema格式的json数据,可以在FormRender中完整的显示。

界面预览:
几款常用的表单设计器解决方案

2. Alibaba/Formily

几款常用的表单设计器解决方案
GitHub:https://github.com/alibaba/formily
官网地址: https://formilyjs.org

在 React 中,在受控模式下,表单的整树渲染问题非常明显。特别是对于数据联动的场景,很容易导致页面卡顿,为了解决这个问题,我们将每个表单字段的状态做了分布式管理,从而大大提升了表单操作性能。同时,我们深度整合了 JSON Schema 协议,可以帮助您快速解决后端驱动表单渲染的问题。

Alibaba/Formily具有以下特性(摘至官网):

界面预览:
几款常用的表单设计器解决方案

3. Form Generator

几款常用的表单设计器解决方案
GitHub:https://github.com/JakHuang/form-generator

Element UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。

界面预览:
几款常用的表单设计器解决方案

4. form-create

几款常用的表单设计器解决方案
GitHub: https://github.com/xaboy/form-create
官网地址:http://www.form-create.com/

form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。支持3个UI框架,并且支持生成任何 Vue 组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定。

特点:

5. Amis(2023/2/21更新)

几款常用的表单设计器解决方案
GitHub: https://github.com/baidu/amis
官网地址:https://aisuda.bce.baidu.com/amis
Demo地址:https://aisuda.github.io/amis-editor-demo/#/hello-world

amis 是一个低代码前端框架,它使用 JSON 配置来生成页面,可以减少页面开发工作量,极大提升效率。

amis推崇以JSON来配置页面,并且产出的页面包含大量的细节功能,比如可以对数据进行筛选、可刷新数据、编辑单行数据、批量修改和删除、排序、隐藏列、调整列顺序等等细节功能。如果以编写代码的方式进行,这些功能将会是不小的工作量。

为了实现用最简单方式来生成大部分页面,amis 的解决方案是基于 JSON 来配置,它的独特好处是:

amis还有其他亮点:

写在最后

以上就是收集整理的 五个比较常见的表单设计器解决方案,如有疑问,欢迎评论区交流。

扩展阅读:
工作流流程编辑器的几种解决方案
React + Antd实现动态切换主题功能之二(默认主题与暗黑色主题切换)
React + Router + Antd实现多标签页功能