1.2.2 • Published 3 years ago

visbar-gui v1.2.2

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

Visbar-GUI生成器

生成低代码右侧配置面板,通过物料协议的入参配置,生成对应的配置面板组件.

快速开始:

npm install visbar-gui --save
# 或
yarn add visbar-gui --save
  • 项目必须依赖 react, antd基础库,请确认是否安装
/**
 * config: 物料协议的配置信息
 * onChange: 数据变更时的回调
 * value: 值,会根据路径分发给相应的控件(路径为对象的路径, 如 obj.user.name)  
 */
<VisbarGUI config={this.state.config}
  onChange={this.guiConfigChange}
  value={extractDefault({ config: this.state.config, value: this.state.data })}
/>

入参配置

参数名参数描述参数类型默认值
configGUI配置面板的物料配置,根据配置生成面板组件any{}
valueGUI面板中生成控件的value值any{}
onChangeGUI面板中的值改变时触发的回调(data: any) => any-
extensionsGUI面板控件扩展, 可以添加额外的渲染控件{ key: string: React.ComponentClass | React.FunctionComponent }-

静态属性方法

GUI.extensionControl: 扩展的渲染控件属性,类型同extensions属性类型, 会在所有的VisbarGUI组件中生效.

GUI.register: 往GUI.extensionControl中添加渲染控件的方法,参数同extensions类型.

物料协议配置描述:

  • name: 控件元素的名称,会作为控件的label展示
  • node: 控件元素使用的渲染控件,可以为默认内置控件和扩展控件(默认控件见下文)
  • children: 控件的子元素,如果当控件时容器控件时才需要存在,否则将打乱控件的渲染
  • description: 控件的描述文案,将会做为label的tooltip展示
  • default: 控件的默认值
  • 其他: 控件的其他属性,如stepper控件的min,max属性等,将原样传递的对应的控件

内置控件:

  • text: 渲染文本输入框控件
必要属性值描述值类型是否必须
default默认值stringfalse
description控件描述stringfalse
  • stepper: 渲染数值步进器控件
必要属性值描述值类型是否必须
default默认值numberfalse
description控件描述stringfalse
min最小值numberfalse
max最大值numberfalse
precision数值精度numberfalse
step步长numberfalse
  • slider: 渲染滑动条控件
必要属性值描述值类型是否必须
default默认值number | number[]false
description控件描述stringfalse
range双滑块模式booleanfalse
min最小值numberfalse
max最大值numberfalse
step步长numberfalse
  • select: 选择框控件
必要属性值描述值类型是否必须
default默认值anyfalse
description控件描述stringfalse
options选项列表{label: string, value: any}[]true
mode多选框模式'multiple' | 'tags'false
  • switch: 开关控件
必要属性值描述值类型是否必须
default默认值booleanfalse
description控件描述stringfalse
  • radio: 单选框控件,有默认形式和button形式
必要属性值描述值类型是否必须
default默认值anyfalse
description控件描述stringfalse
type控件形式'default' | 'button'false
options选项列表{label: string, value: any}[]true
  • checkbox: 多选框控件,有默认形式和button形式
必要属性值描述值类型是否必须
default默认值any[]false
description控件描述stringfalse
type控件形式'normal' | 'button'false
options选项列表{label: string, value: any}[]true
  • color: 颜色选择器控件
必要属性值描述值类型是否必须
default默认值hex颜色值false
description控件描述stringfalse
  • codeEditor: 代码编辑器控件
必要属性值描述值类型是否必须
default默认值stringfalse
description控件描述stringfalse
language编辑器语言stringfalse
  • suite: 可控控件,会在控件前加一个开关,表示控件是否可用
必要属性值描述值类型是否必须
default默认值anyfalse
description控件描述stringfalse
nodeTruly实际渲染的控件stringtrue
show控制开关的状态booleanfalse
  • group: 组控件,其子控件在其下拉面板中展示
必要属性值描述值类型是否必须
children组控件的子元素{ key: strig: any }true
  • menu: 菜单控件,展示tab菜单
必要属性值描述值类型是否必须
children菜单控件的子元素{ key: strig: any }(一级子控件需要是tab控件)true
  • tab: 菜单面板控件,需和menu控件结合使用,作为menu控件的子控件
必要属性值描述值类型是否必须
children菜单面板控件的子元素{ key: strig: any }true
  • margin: 边距编辑控件
必要属性值描述值类型是否必须
default边距数据top: number, right: number, bottom: number, left: numberfalse
  • array: 数组对象控件
必要属性值描述值类型是否必须
length默认数组长度numberfalse
activeKey默认选中激活的数组项numberfalse
value默认数据值anyfalse
childItem数组对象的每个值的物料渲染配置,形式同tab的childrenanytrue
  • type: 多类型数据控件
必要属性值描述值类型是否必须
type当前类型对象{ key: string: any(渲染的控件); }true
defaultType默认激活的控件stringfalse
value默认数据值(该默认值会根据其类型映射到具体的控件中)anyfalse
onChange数据值改变时的回调(data: any) => anyfalse
1.2.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.9

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.0.8

3 years ago

1.1.6

3 years ago

1.0.7

3 years ago

1.1.5

3 years ago

1.0.6

3 years ago

1.1.4

3 years ago

1.0.5

3 years ago

1.2.2

3 years ago

1.1.3

3 years ago

1.0.4

3 years ago

1.2.1

3 years ago

1.1.2

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago