愿景:做能覆盖所有表单使用场景,开发友好&快捷的表单生成方案。

如果要给 form-render 的产品四角的优先级打分:功能(场景覆盖率):S,开发者体验:S,用户体验:A,性能:A

四大指标

开发体验

用户体验

性能:包大小 11k

为何要升级一个 breaking 的大版本

form-render 的初衷是简单表单的快速搭建。一些关键的设计上的抉择导致

  1. 没有收束 submit

关键功能无法实现,例如服务端校验回填 内部无法感知提交时机,数据和校验信息要随时“正确”,所有的功能必须是在每次

onChange 和 onValidate 的暴露,是个错误。用户尝试在这两个钩子里写复杂逻辑

  1. 性能瓶颈。表达式的设计和实现方式导致性能问题

内部的问题:

  1. 校验和渲染在两条分离的线上,导致对校验的动态迟迟难以支持 4.

我们放弃了什么

  1. fusion

  2. 对 JSON schema 的强贴靠

3.

What’s new

  1. bind
  2. 体积
  3. 性能
  4. 服务端校验的回填
  5. 支持所有 antd 的校验
  6. 自定义组件开发体验,基本上所有 antd 的组件都可拿来即用,例如内置的 Input 就完全是 antd 的 Input

7.

新 schema

#