Skip to Content

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