0.2.7 • Published 1 year ago

@fescotech/form-designer v0.2.7

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

表单设计器

基于 fr-generator 的表单设计器,增加移动端设计/预览,同时简化部分功能

安装

npm i -S @fescotech/form-designer --registry http://47.94.139.51:8081/nexus/repository/fescotech-npm/

使用方式

import React from "react";
import Generator from "@fescotech/form-designer";

const defaultValue = {
  type: "object",
  properties: {
    inputName: {
      title: "简单输入框",
      type: "string",
    },
  },
};

const Demo = () => {
  return (
    <div style={{ height: "80vh" }}>
      <Generator defaultValue={defaultValue} />
    </div>
  );
};

export default Demo;

本地开发

没有本地服务器开发模式,因此开发时,本地起一个引用该库的项目,将 form-designer 使用 npm link 到本地 node_modules,在项目中 npm link @fescotech/form-designer 后进行开发调试

API

Props

参数说明类型默认值
hideId隐藏组件 IDbooleanfalse
defaultValue默认表单 schemaobjectDEFAULT_SCHEMA
transformerschema 双向转换object{ fromFormRender, toFormRender }
extraButtons操作栏按钮arrayextraButton[]
controlButtons选中项操作按钮arraycontrolButton[]
settings左右侧栏配置arraydefaultSettings
commonSettings通用配置objectdefaultCommonSettings
globalSettings全局配置objectdefaultGlobalSettings
widgets自定义组件object{}
mapping组件和 schema 的映射规则object{}

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

Methods

事件名说明入参
getValue获取导出的 schema 值-
setValue从外部强制修改 schemaschema
copyValue将现有 schema 拷贝到剪贴板-

案例演示

参考fr-generator 示例

常见问题

1、如何控制编辑器高度

给组件外层要包裹的 div 设置高度即可,否则为默认值 min-height: 30vh