order: 1
title: 如何使用
toc: menu
安装
npm i fr-generator
代码演示
/** * transform: true * defaultShowCode: true */import React from 'react';import Generator from 'fr-generator';const defaultValue = { type: 'object', properties: { inputName: { title: '简单输入框', type: 'string', }, },};const Demo = () => { return ( <div style={{ height: '80vh' }}> <Generator defaultValue={defaultValue} /> </div> );};export default Demo;
API
Props
| 参数 |
说明 |
类型 |
默认值 |
| getId |
设置如何生成新的 id |
Function |
name => ${name}_${nanoid(6)} |
| hideId |
隐藏组件 ID |
boolean |
false |
| canDelete |
组件删除控制 |
boolean |
Function |
| defaultValue |
默认表单 schema |
object |
DEFAULT_SCHEMA |
| transformer |
schema 双向转换 |
object |
{ from, to, fromSetting, toSetting } |
| extraButtons |
操作栏按钮 |
array |
extraButton[] |
| controlButtons |
选中项操作按钮 |
array |
controlButton[] |
| settings |
左右侧栏配置 |
array |
defaultSettings |
| commonSettings |
通用配置 |
object |
defaultCommonSettings |
| globalSettings |
全局配置 |
object |
defaultGlobalSettings |
| widgets |
自定义组件 |
object |
{} |
| mapping |
组件和 schema 的映射规则 |
object |
{} |
| validation |
是否启用配置表单校验 |
boolean |
true |
| fieldRender |
自定义组件渲染函数 |
Function |
(schema, widgetProps, children, originNode) => originNode |
| fieldWrapperRender |
自定义容器组件渲染函数 |
Function |
(schema, isSelected, children, originNode) => originNode |
extraButton
| 属性 |
说明 |
类型 |
| text |
按钮文案 |
string |
| onClick |
按钮点击回调函数 |
(event) => void |
数组前四项为布尔值,决定默认按钮是否展示。
支持 antd 按钮组件的所有其他属性 https://ant.design/components/button-cn/#API
controlButton
| 属性 |
说明 |
类型 |
| text |
按钮文案 |
string |
| onClick |
按钮点击回调函数 |
(event, schema) => void |
数组前两项为布尔值或函数,决定默认按钮是否展示,函数入参为选中项 schema。
Events
| 事件名 |
说明 |
回调参数 |
| onChange |
表单 data 变化回调 |
表单的 data |
| onSchemaChange |
表单 schema 变化回调 |
导出的 schema |
| onCanvasSelect |
画布组件选择回调 |
选中项的 schema |
Methods
| 事件名 |
说明 |
入参 |
| getValue |
获取导出的 schema 值 |
- |
| setValue |
从外部强制修改 schema |
schema |
| copyValue |
将现有 schema 拷贝到剪贴板 |
- |
| getErrorFields |
获取配置项校验错误 |
- |