_formeventlib
功能说明
描述
『表单控件触发事件』入口函数,启用后对表单控件操作时触发(例如“单行文本”失去焦点,“下拉框”选择一个选项时),可以修改或设置当前表单字段值与属性。
- 事件触发有 3 个必要设置条件:
①、表单类型为“事件表单”或“事件流程表单”。
②、表单字段属性里“功能扩展设置”选择为“后端事件”。
③、当光标与字段出现交互时,例如:编辑完字段内容失去输入焦点,或者是更改下拉框、单选框、复选框选项时,就会触发此事件。
表单控件 - 字段属性 |
---|
函数原型
def _formeventlib(config,formAlias,widgetValue,entryValue,info,other):
参数
名称 | 类型 | 描述 |
---|---|---|
config | 数组型 | 模块当前配置中的字段信息 |
formAlias | 字符型 | 表单的别名 |
widgetValue | 数组:字典型 | 触发事件的字段信息 |
entryValue | 数组:字典型 | 表单控件操作时传入的当前表单数据信息 |
info | 数组:字典型 | 访问此表的“userid”信息和浏览器等信息 |
other | 数组:字典型 | 附加信息,暂时只有前面模块的所有结果集信息(多模块配置时),没有的话为空数组 |
参数详解
config的数据格式:
- 请查阅各类模块控件的参数说明。
widgetValue 的数据格式:
- 子表单外的字段触发事件时的格式:
{ "data":"456", "widgetNameAlias":"多行文本", "widgetType":"textarea" }
- 子表单里的字段触发事件时的格式:
{ "data":"456", "widgetNameAlias":"多行文本", "widgetType":"textarea", "index":0, "subformNameAlias":"子表单" }
- 子表单字段导入数据触发事件时的格式:
{ "widgetType":"subform", "widgetNameAlias":"子表单", "data":[ { "数字":{ "widgetType":"number", "visible":True, "data":15 }, "单行文本":{ "widgetType":"text", "visible":True, "data":"张三" } }, { "数字":{ "widgetType":"number", "visible":True, "data":16 }, "单行文本":{ "widgetType":"text", "visible":True, "data":"李四" } } ], "triggerType":"import" }
名称 | 描述 |
---|---|
data | 字段的值 |
widgetNameAlias | 字段的别名 |
widgetType | 字段的类型 |
triggerType | 触发类型:import表示导入数据(仅子表单导入数据时才存在) |
index | 当前数据在子表单里的索引行数,从0开始(仅子表单里的字段触发事件才存在) |
subformNameAlias | 子表单名称(仅子表单里的字段触发事件才存在) |
entryValue 的数据格式:
{
"单行文本":{
"visible":True,
"data":"123",
"widgetType":"text"
},
"多行文本":{
"visible":True,
"data":"456",
"widgetType":"textarea"
},
"单选按钮组":{
"items":[
{
"value":"我的选项1"
},
{
"value":"我的选项2"
},
{
"value":"我的选项3"
}
],
"visible":True,
"data":"我的选项1",
"widgetType":"radiogroup"
},
"子表单":{
"visible":True,
"data":[
{
"多行文本2":{
"data":"22",
"visible":True,
"widgetType":"textarea"
},
"单行文本2":{
"data":"11",
"visible":True,
"widgetType":"text"
}
}
],
"widgetType":"subform"
}
}
名称 | 描述 |
---|---|
data | 字段的值 |
visible | 是否可见,True表示可见,False表示隐藏 |
widgetType | 字段的类型 |
items | 单选按钮组,复选框组,下拉框,下拉复选框 专有的表示所有选项 (修改字段的数据请参照下面的示例,目前只支持四种字段属性,格式同 _forminitiallib) |
info 的数据格式:
{
"operator":"55cb7d57f7a190e382857117",
"clientIp":"xxx.xxx.xxx.xxx"
}
名称 | 描述 |
---|---|
operator | 当前操作人的userid |
clientIp | 客户端ip |
other的数据格式:
{
"libResult":[
{
"result":True,
"text":"模块1的数据",
"name":"测试模块",
"datas":{
"单行文本":{
"data":"单行文本的数据"
},
"多行文本":{
"data":"多行文本的数据"
}
}
},
{
"result":True,
"text":"模块2的数据",
"name":"测试模块",
"datas":{
"单行文本":{
"data":"单行文本的数据"
},
"多行文本":{
"data":"多行文本的数据"
}
}
}
]
}
名称 | 描述 |
---|---|
libResult | 前面模块的结果集信息,有几个模块就有几个子数组 |
result | 模块的逻辑型返回值 |
datas | 模块的数组型返回值 |
text | 模块的文本型返回值 |
name | 模块的名称 |
返回值
- 返回值接受多个返回值。
名称 | 类型 | 描述 |
---|---|---|
第1个返回值 | Boolean(逻辑型) | 返回结果为True(真)或False(假) |
第2个返回值(可选) | json字符串/文本字符串(字符型) | 返回结果可修改前端表单字段赋值与属性 |
第3个返回值(可选) | 文本字符串(字符型) | 返回文本内容给页面弹出提示 |
备注 | 描述 |
---|---|
第2个返回值(可选) | 返回非json字符串,文本内容给页面弹出提示,第3个返回值则无效 |
如果没有返回值时 | 第1个返回值默认为True(真),第2、3个返回值默认为空 |
事件触发示意图 |
---|
备注
- widgetValue/entryValue 的数值是数组类型,因此大家可以通过数组的形式操作它。
- formeventlib事件可以解决很多我们前端字段做不到的事情,例如: 根据界面需求动态计算取值; 根据用户输入的值动态改变字段的显示和隐藏; 接入第三方API获取数据 。
示例
- 返回数据格式请按如下格式书写:
{ "单行文本": { "data": "文本内容", "visible": True, "enable": True, "label": "字段标题", "description": "描述信息" } }
- 字段属性目前只有 5 种:
名称 | 描述 |
---|---|
data | 修改字段的值 |
visible | 修改字段可见属性 True:可见 False:不可见 |
enable | 修改字段编辑权限 True:可编辑 False:不可编辑 |
label | 修改字段标题描述 |
description | 修改字段描述信息 |
演示示例
- 暂无
安装包下载
- 暂无
相关视频
- 暂无