1.4.0 • Published 4 years ago

evaform v1.4.0

Weekly downloads
-
License
-
Repository
github
Last release
4 years ago

eva

根据JSON配置生成React的form组件。
基于JSON Schema草案(即将标准化)。

这是什么?

  • 一个根据配置生成表单的工具。
  • 提供默认的通用控件,同时支持自定义组件。

为什么要配置化?

对于简单场景的表单,模板代码比较多,遇到改动时需要查看不少代码。如果能将其完全配置化,通过一份配置控制表现,开发和修改起来就容易多了。

怎么配置?

一个表单的核心配置字段有 schemauiSchemaformData,分别描述其关键信息、样式表现和数据。

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