1.4.0 • Published 4 years ago
evaform v1.4.0
eva
根据JSON配置生成React的form组件。
基于JSON Schema草案(即将标准化)。
这是什么?
- 一个根据配置生成表单的工具。
- 提供默认的通用控件,同时支持自定义组件。
为什么要配置化?
对于简单场景的表单,模板代码比较多,遇到改动时需要查看不少代码。如果能将其完全配置化,通过一份配置控制表现,开发和修改起来就容易多了。
怎么配置?
一个表单的核心配置字段有 schema
、uiSchema
、formData
,分别描述其关键信息、样式表现和数据。
Demo config
schema: {
type: "object",
required: ["productType", "description"],
properties: {
name: {
type: "string",
maxLength: 10,
default: "default name",
},
productType: {
type: "number",
title: "产品主题",
enum: [1, 2, 3],
enumNames: ["权益类产品", "收益类产品", "其他产品"],
},
boolean: {
type: "boolean",
title: "boolean field"
},
onlyNumbersString: {
type: "string",
pattern: "^\\d*$"
},
array: {
type: "array",
items: {
type: "string",
},
minimum: 1,
},
},
},
uiSchema: {
boolean: {
'ui:widget': 'radio'
}
},
formData: {
boolean: false,
array: ['item1']
}
更多配置请参考文档。
ref
1.4.0
4 years ago