如题所述
第1个回答 2022-07-20
作为一名前端开发,「表单开发」是我们的家常便饭,一般我们需要做以下重复性工作:
同时,后台服务也需要编写校验规则,随着业务变动或者沟通不及时,前后端校验规则可能会存在不一致问题。所以「前后端共用校验规则逻辑」也应该纳入考虑。
综上,我们希望能减少重复性工作: 通过配置自动生成表单模板,同时这个配置最好还能描述表单校验相关 ( 因为表单元素部分属性如min、max、required、pattern这些都会控制表单输入,保障校验 )
先通过一个简单的例子看下效果: Demo 、 Code
渲染结果
更多Demo
文档
然后,现在表单经常会通过JSON异步提交到服务端,所以技术选型如下:
最后,JSONSchema在表单描述上并非无所不能:
所以,我们参考了 angular schema form ,增加了 Form Definition 描述,用来补充扩展JSON Schema,它可以:
即使没定义Form Definition,内部在表单渲染部分,也会将JSONSchema转换成Form Definition,因为其结构更适合循环表单渲染
所以,整体架构如图
目前已经提供了 基础组件11个 (包含图片上传、编辑器等扩展组件)和 容器组件3个 ,未来还会根据情况继续增加,同时也支持自己扩展组件和规则。