#表单

#form-render

优点:

  • 自动处理错误信息
  • 模板配置,低复杂度表单快速复用

缺点:

  • 维护不好,更新版本会报错
  • 自定义组件传变量无法正常更新,需要延迟表单渲染,因为模板是固定的对象,根据模板渲染表单后,模板改变时表单不会更新

#formik

优点:

  • 灵活
  • 表单间联动比较方便

缺点:

  • 需要自定义所有错误信息,比较麻烦

  • 文档 依赖联动 JSON Schema 文档都没有说明

特性:

  • Formik 组件比较繁琐,功能完善,但是 ui 与逻辑耦合,不建议使用
  • useFormik 可以抽取逻辑,仅保留 ui 在 jsx,建议使用
  • useField 可以处理子组件逻辑,简化子组件暴露的 api,但是要注意避免过度封装,酌情使用

#formily

优点:

  • 功能全面
  • 有低代码表单设计器

缺点:

  • 概念太多,文档不全,需要看源码理解,上手成本高