1.0.0 • Published 2 years ago

lm-design-form v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

DesignForm 表单设计器使用文档

背景介绍

释义: 本表单引擎仅为demo,用于个人研究和技术预演论证可行性探讨。

DesignForm 背景介绍

快速使用

<DesignForm formkey="表单测试4" >
</DesignForm>
属性注释默认值示例值必填
formkey表单key,表单key不能重复''表单1
formtype表单类型:0=主表单,1=扩展表单,2=子表单,表单名称10
formname表单名称''
layout默认布局'horizontal'
initvalue默认初始值null{key: '文本控件1',title:'',value:'1',type:'text'}
defaulttoolbar默认工具栏控件,默认加载全部控件null[[{'title': '基础控件', control: 'Text', 'Blank', 'Label'}]
defaultpackages默认编辑器引用的包,请输入需要引用的类应用即可null{useContext,useRef,Input,Button}
其他属性额外属性等同antd.Form表单属性

表单控件硬编码方式

硬编码方式使用表单控件示例:

//注意: 硬编码控件必须在DesignForm内部
<DesignForm formkey="表单测试4" >
   <DesignControl
     designkey="文本2"
     designdata={{ type: 'Text', title: '', value:info }}
     extprops={{
        onChange: (event) => {
            setInfo(event.target.value);
        },
     }}/>
</DesignForm>
属性注释默认值示例值必填
designkey表单设计控件key,当前表单内唯一,用于渲染和识别null
designdata表单设计控件data属性,用于定义控件属性渲染nulldesigndata={{ type: 'Text', title: '', value:info }}
extprops表单设计控件extProps属性,用于定义控件事件渲染,如onChange/onClick等,请关注antd相应类型控件类型nullextprops={{ onChange:(e)=>{} }}
其他属性额外属性等同antd.Form.Item表单属性null

DesignControl designdata 说明文档

表单方法

方法注释示例
getDesignModelJson获取前端表单设计json,一般不会用到
isEditState获取表单设计状态true/false
setIsEditState设置表单设计状态xx.current.setIsEditState(true)
refreash刷新表单xx.current.refreash()
controls获取表单控件集合,可访问任意控件信息,谨慎操作控件信息xx.current.controls
useformData获取表单基本信息xx.current.useformData
getJsonValue获取表单内容数据xx.current.getJsonValue()
setJsonValue设置表单内容数据xx.current.setJsonValue(datajson)
const form = useRef(null);
<DesignForm ref={form} formkey="表单测试4" >
</DesignForm>
<Button
    onClick={() => {
        form.current.setJsonValue([{ key: '1648890263927', value: '测试数据加载' }]);
        form.current.getJsonValue();
    }}
>

扩展表单模式

释义: 扩展表单模式,用于兼容旧表单,可以支持用户将已经开发的现有业务表单,快速改造成designForm,为表单赋予动态扩展能力。

扩展表单模式 说明文档

高级控件

高级控件依然可以采用DesignControl硬编码方式使用,默认在表单编辑状态下可编排;也可以在表单编排状态下,动态添加并编排。
未来支持: 表格控件(支持查询),流程编排控件等等

高级控件 使用文档

容器控件

容器控件依然可以采用DesignControl硬编码方式使用,默认在表单编辑状态下可编排;容器可以将任意位置可编排的控件,放置在容器内部;同样容器内部的所有控件,放置到任意位置的外部布局中。
未来支持: 绝对定位容器等等

容器使用 使用文档

报表控件

报表控件属于高级控件,本质借助echart实现,默认支持echart所有option配置方式,通过低代码方式实时配置和复用报表。
报表控件 使用文档

数据源

释义:数据源可帮助开发人员可以动态添加,开发,管理多种数据源类型,便于表单或控件动态展示数据内容;也可以"引用"系统标准化的数据源解决方案模板,实现快速复用。
数据源 使用文档

智能助理

释义: 智能助理可帮助开发人员可以动态添加控件和表单的动作(按钮)事件,通过事件定义动态编排表单的流程;也可以“引用”系统标准化的事件解决方案模板,实现快速复用。
智能助理 使用文档

低代码

释义: 低代码本质上在于满足快速开发,快速交付的需求;同时在部分编码基础上,提供抽象化的可视化组件。 低代码包含“前端低代码”和“后端低代码”两块内容。
未来: 大部分低代码能力在“编辑器”控件里面呈现,包含模型设计(数据库设计)器,前端设计器,后端设计器等。 低代码文档