Schema Form 是什么?

根据约定的 JSON Schema 生成标准 Form,并且拥有与 Form 同等功能的渲染工具。由于使用了 JSON Schema ,可以通过后端来下发 JSON 可以代码无与伦比的灵活性,同时因为 JSON 的灵活性,可以自由的合并的删减,对于垂直业务有很大的好处。

Schema Form 需要什么功能?

Schema 渲染器

Schema 渲染器要将 Schema 和 真实的表单连接起来,方便开发的引入。

  1. <SchemaForm schema={schema} />

SchemaForm 不只是需要支持 schema,同事还需要支持各种表单的 Layout。负责处理 默认值 和 提交的逻辑。

作为一个渲染器,他要灵活并且支持自定义。甚至要支持降级方案。

Schema 生成器

Schema 的复杂性导致其内容人是几乎不可读的。所以编辑的功能也应该由图形界面来生成。

image.png

Schema 检查器

Schema 是非常复杂的,很多时候人是不可读的。所以需要一个检查器来告诉我们 Schema 是否符合规范。如果错误是在哪里出错的。

  1. const isOk = checkSchema(schema);

同时也要提供一个 json schemastore 来保证在 vscode 等编辑器中有良好的 自动完成 和 错误校验功能。

类似 http://json.schemastore.org/tsconfig