多路分支 (Switch)
多路分支节点用于根据分流变量的值,将流程导向对应的 Case 分支,实现 switch-case 逻辑。
概述
填写分流变量后,动态添加 Case 项(每个 Case 对应一个匹配值和一个输出端口)。如果所有 Case 都不匹配,走 Default 默认分支。
使用方法
拖入节点后,按以下步骤配置:
1. 填写分流变量
在「分流变量」中填入要判断的变量,如 {{status}}。支持 {{变量名}} 引用。
2. 选择匹配模式
- 精确匹配:变量值与 Case 值完全一致才算命中。注意区分类型——数字
10和字符串"10"不算精确匹配 - 包含匹配:变量值包含 Case 值即命中。字符串匹配不区分位置,数组匹配判断元素是否存在
3. 添加 Case
点击「添加 Case」增加分支,每个 Case 填写一个匹配值。匹配值会与分流变量按所选模式逐一比较,命中后走对应的输出端口。Case 从上到下依次匹配,一旦命中就不再继续匹配后续 Case。
4. 连接输出端口
将各 Case 和 Default 输出端口连接到对应的下游节点。Default 在没有任何 Case 命中时触发,必须连接——确保流程有兜底路径。
参数参考
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 分流变量 | 文本 | — | 必填。要匹配的变量,支持 {{变量名}} 引用,详见变量名 |
| 匹配模式 | 下拉选择 | equals | equals — 精确匹配(==);contains — 包含匹配 |
| Cases | list | — | 动态列表,每项一个匹配值,可添加/删除。从上到下依次匹配,命中即停止 |
常见问题
变量值等于 Case 值却走了 Default
现象:变量值看起来与 Case 值相同,但流程走到了 Default。
原因:匹配模式为精确匹配且类型不一致(如数字 vs 字符串),或大小写不同。
解决:检查变量类型是否与 Case 值类型一致;如果对大小写不敏感,使用包含匹配模式。
多个 Case 同时匹配会怎样
现象:变量值同时满足多个 Case 条件。
原因:Case 从上到下依次匹配,命中后即停止。
解决:将更精确的 Case 排在前面,更宽泛的 Case 排在后面。不需要手动处理重复匹配。