FlowDefinition
FlowDefinition 定义了流的基本结构和配置,是流引擎的核心概念之一。它描述了流的元信息、触发条件、执行步骤等。
类型定义
其中 on 的类型如下:
注册方式
属性说明
key
类型: string
必需: 是
描述: 流的唯一标识符
建议采用统一的 xxxSettings 风格命名,例如:
pageSettingstableSettingscardSettingsformSettingsdetailsSettingsbuttonSettingspopupSettingsdeleteSettingsdatetimeSettingsnumberSettings
这样命名便于识别和维护,建议全局统一 。
示例:
title
类型: string
必需: 否
描述: 人类可读的流标题
建议与 key 保持一致风格,采用 Xxx settings 命名,例如:
Page settingsTable settingsCard settingsForm settingsDetails settingsButton settingsPopup settingsDelete settingsDatetime settingsNumber settings
这样命名更清晰易懂,便于界面展示和团队协作。
示例:
manual
类型: boolean
必需: 否
默认值: false
描述: 是否仅手动执行流
true: 流只能手动触发,不会自动执行false: 流可以自动执行(当没有on属性时默认自动执行)
示例:
sort
类型: number
必需: 否
默认值: 0
描述: 流执行顺序,数值越小越先执行
可以为负数,用于控制多个流的执行顺序。
示例:
on
类型: FlowEvent<TModel>
必需: 否
描述: 允许该流被 dispatchEvent 触发的事件配置
用于声明触发事件名(字符串或 { eventName }),以及可选的执行时机(phase)。不包含处理函数(处理逻辑在 steps 里)。
支持的事件类 型:
'beforeRender'- 渲染前事件,组件首次渲染时自动触发'click'- 点击事件'submit'- 提交事件'reset'- 重置事件'remove'- 删除事件'openView'- 打开视图事件'dropdownOpen'- 下拉框打开事件'popupScroll'- 弹窗滚动事件'search'- 搜索事件'customRequest'- 自定义请求事件'collapseToggle'- 折叠切换事件- 或任意自定义字符串
示例:
执行时机(phase)
当同一个事件(例如 click)存在多条事件流时,可以用 phase / flowKey / stepKey 指定该流插入到内置静态流的哪个位置执行:
示例:
steps
类型: Record<string, StepDefinition<TModel>>
必需: 是
描述: 流步骤定义
定义流中包含的所有步骤,每个步骤都有唯一的键名。
示例:
defaultParams
类型: Record<string, any> | ((ctx: FlowModelContext) => StepParam | Promise<StepParam>)
必需: 否
描述: 流级默认参数
在模型实例化(createModel)时,为"当前流"的步骤参数填充初始值。仅填补缺失,不覆盖已有。固定返回形状:{ [stepKey]: params }
示例:

