# 交互动作
当组件触发与其相关的 事件(例如用户点击、下拉选中等)时,我们可以针对这个时机做一些 动作(如跳转页面、弹出消息提示等),在低代码里面称之为交互动作设置。
# 新建交互
点击组件,在右侧 交互 面板中,可以 新建交互 ,如下图所示:

# 交互编辑器
点击新建交互之后,将弹出如下界面:

- ① 触发事件:每个组件有各自的可用事件,简单的组件可能只有一两个事件
- ② 执行动作:列表中所提供的动作是低代码开发平台内置的动作,也可以 扩展交互动作 来添加自定义动作
- ③ 设置动作:每个动作可以设置的参数基本都不太一样,除了固定的动作描述和执行条件之外,其他参数根据所选的动作动态改变。比如打开页面的动作可以设置打开页面地址,弹出消息提示的动作可以设置消息提示语。
其中,设置动作中有三个重要的配置(每个动作都有的):
- 动作描述:动作的名称,便于后续查看和管理
- 执行条件:动作执行的条件,满足条件时才会执行该动作(可设置表达式)
- 执行条件不满足时:
- 终止执行:如果当前动作的执行条件不满足,则停止执行当前动作和后续所有动作
- 跳过当前动作继续执行:如果当前动作的执行条件不满足,则跳过当前动作,继续执行后续动作
# 简单交互动作
对于一些简单的操作逻辑,可以使用顺序执行的方式来实现。执行逻辑是:当事件触发时,依次执行动作列表中的动作,如果出现异常则停止执行后续动作,也可以通过设置动作的执行条件来控制动作是否执行。
# 顺序执行动作
创建完一个交互之后,组件的交互界面将如下图所示:

如果需要添加更多的动作,只需要在对应事件右侧点击添加动作即可,同一事件下的多个动作之间支持排序,只需要拖动动作前方的图标即可改变排序。

# 组合交互动作
# 编排复杂动作
对于一些逻辑比较复杂的交互,可以通过组合动作来实现,背后是一个逻辑编排引擎,可自由根据需求编排动作的执行顺序。

# 事件参数
当一个事件触发之后,我们创建的动作除了能在那个时机触发之外,还可以使用事件触发后所传递出来的相关参数。
例如在上面的例子中我们使用了选项卡这个控件,它有一个“点击tab时触发”的事件,当我们打开动作参数设置任意一个表达式绑定页面时,就可以看到相关的事件参数。

每个事件携带的参数不尽相同,也可能不携带任何参数,具体得在表达式界面通过 $event 参数确定。
# 结果变量
有些交互支持设置结果变量,例如 发送HTTP请求、对话框打开页面和调用组件方法等,这些操作可能会返回一些数据给后面的动作使用,举个例子,下面是一个模拟的交互流程,发送HTTP请求后将结果设置到页面变量中:

发送HTTP请求操作下的操作配置中,表达式部分都可以使用这个users变量:

注意上面的变量users仅在当前交互中可使用,如果使用设置页面变量操作设置到页面变量userList中,就可以在页面通过userList访问这个数据了:
