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