Zion 循环行为配置
以数组为数据源,将数据逐条取出进行批量处理操作,实现数据遍历和累计计算。
作用
循环行为以一个数组为数据源,将数组中的数据逐条取出进行处理。支持对每条数据执行相同的操作逻辑,常用于批量数据处理、统计计算、累计求和等场景。
支持的数据源类型:
- 页面数据源:需要取消限额设置,支持返回完整数组数据
- 选择视图:需要开启多选功能,处理用户选择的多条数据
常用场景:
- 购物车总价计算:遍历购物车商品,累计计算总价
- 批量数据修改:对多条记录执行相同的更新操作
- 统计汇总:对数组数据进行求和、计数等统计操作
- 数据同步:批量处理需要同步的数据记录
配置与输出
配置流程
准备数组数据源
配置页面数据源(取消限额)或选择视图(开启多选),作为循环处理的数据源。
添加循环行为
在适当的触发时机(如数据请求成功时)添加循环行为,选择数组数据源。
配置处理逻辑
在”每项事件”中配置对单条数据的处理逻辑,可以使用【事件数据】获取当前遍历的数据项。
设置累计变量
如需累计计算,先在页面变量中添加累计变量,在循环中不断更新其值。
设置页面变量 | 赋值页面变量 |
---|---|
![]() | ![]() |
配置参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
数据源 | Array | 是 | 循环处理的数组数据,支持页面数据源或选择视图 |
每项事件 | Actions | 是 | 对每条数据执行的处理逻辑 |
输出结果
- 事件数据:在每项事件中可以通过
{{事件数据}}
获取当前遍历的数据项 - 无直接返回值,通过每项事件中的操作产生结果
特殊说明
- 数据源要求:页面数据源需要取消限额设置,选择视图需要开启多选功能
- 性能考虑:大量数据循环可能影响性能,建议控制数据量或分批处理
- 事件数据访问:在循环内部使用
{{事件数据}}
可以获取当前正在处理的数据项 - 状态保持:循环过程中页面变量的变化会保持,适合累计计算场景
用法举例
购物车总价计算
// 1. 添加页面变量:总价(无限精度小数,默认值0)
// 2. 页面数据源:购物车列表(取消限额)
// 3. 循环行为配置:
数据源: {{购物车列表}}
每项事件:
- 设置页面变量 "总价" = {{总价}} + ({{事件数据.购买数量}} * {{事件数据.商品单价}})
// 计算过程示例:
// 初始值:总价 = 0
// 第一项:数量2,单价100 → 总价 = 0 + (2*100) = 200
// 第二项:数量3,单价200 → 总价 = 200 + (3*200) = 800
批量状态更新
// 批量将选中的订单状态改为"已发货"
数据源: {{订单选择视图.选中项}}
每项事件:
- 修改数据 "订单表"
- 筛选条件: ID = {{事件数据.ID}}
- 修改内容: 状态 = "已发货"
- 显示提示: "订单{{事件数据.订单号}}已更新"
数据统计汇总
// 统计不同类型商品的数量
// 页面变量:电子产品数量、服装数量、食品数量
数据源: {{商品列表}}
每项事件:
- 条件判断:
- 条件1: {{事件数据.类型}} == "电子产品"
执行: 设置页面变量 "电子产品数量" = {{电子产品数量}} + 1
- 条件2: {{事件数据.类型}} == "服装"
执行: 设置页面变量 "服装数量" = {{服装数量}} + 1
- 条件3: {{事件数据.类型}} == "食品"
执行: 设置页面变量 "食品数量" = {{食品数量}} + 1
批量数据导出
// 将选中的用户数据导出到外部系统
数据源: {{用户选择视图.选中项}}
每项事件:
- 发送API请求:
- URL: "https://api.external.com/users"
- 方法: POST
- 数据: {
"name": {{事件数据.姓名}},
"email": {{事件数据.邮箱}},
"phone": {{事件数据.手机号}}
}
- 成功时: 显示提示 "用户{{事件数据.姓名}}导出成功"
- 失败时: 显示提示 "用户{{事件数据.姓名}}导出失败"
Last updated on