EventDefinition
EventDefinition 定义了流中的事件处理逻辑,用于响应特定的事件触发。事件是流引擎中用于触发流执行的重要机制。
类型定义
EventDefinition 实际上是 ActionDefinition 的别名,因此具有相同的属性和方法。
注册方式
属性说明
name
类型: string
必需: 是
描述: 事件的唯一标识符
用于在流中通过 on 属性引用事件。
示例:
title
类型: string
必需: 否
描述: 事件的显示标题
用于界面展示和调试。
示例:
handler
类型: (ctx: TCtx, params: any) => Promise<any> | any
必需: 是
描述: 事件的处理函数
事件的核心逻辑,接收上下文和参数,返回处理结果。
示例:
defaultParams
类型: Record<string, any> | ((ctx: TCtx) => Record<string, any> | Promise<Record<string, any>>)
必需: 否
描述: 事件的默认参数
在事件触发时,为参数填充默认值。
示例:
uiSchema
类型: Record<string, ISchema> | ((ctx: TCtx) => Record<string, ISchema> | Promise<Record<string, ISchema>>)
必需: 否
描述: 事件的 UI 配置模式
定义事件在界面中的显示方式和表单配置。
示例:
beforeParamsSave
类型: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
必需: 否
描述: 参数保存前的钩子函数
在事件参数保存前执行,可以用于参数验证或转换。
示例:
afterParamsSave
类型: (ctx: FlowSettingsContext<TModel>, params: any, previousParams: any) => void | Promise<void>
必需: 否
描述: 参数保存后的钩子函数
在事件参数保存后执行,可以用于触发其他操作。
示例:
uiMode
类型: StepUIMode | ((ctx: FlowRuntimeContext<TModel>) => StepUIMode | Promise<StepUIMode>)
必需: 否
描述: 事件的 UI 显示模式
控制事件在界面中的显示方式。
支持的模式:
'dialog'- 对话框模式'drawer'- 抽屉模式'embed'- 嵌入模式- 或自定义配置对象
示例:
内置事件类型
流引擎内置了以下常用事件类型:
'click'- 点击事件'submit'- 提交事件'reset'- 重置事件'remove'- 删除事件'openView'- 打开视图事件'dropdownOpen'- 下拉框打开事件'popupScroll'- 弹窗滚动事件'search'- 搜索事件'customRequest'- 自定义请求事件'collapseToggle'- 折叠切换事件

