---
order: 5
navTitle: 交互
indexTitle: 概述
---
# 仪表板组件的交互概述

交互是指用户的一个“操作”，如鼠标点击一个按钮、改变一个下拉框的值等，如以下所示：

- 点击图形查看明细数据需要使用[打开链接](./linkto.md)动作
- 点击图形为参数赋值需要使用[设置参数值](./set-param-value.md)动作
- 切换不同的展示内容需要使用[切换多页面板](./switch-panelbook.md)动作
- 点击按钮将整个页面导出为PDF等文件需要使用[导出仪表板](./export-dash.md)动作

:::tip 交互与动作的关系
交互是由动作组成的，可在交互中添加一个或多个动作。
:::

## 设置动作的生效条件{#condition}

每个动作均可设置生效条件，在**生效条件**属性中设置即可，提供了如下选项：

- **启用**：默认为**启用**，将等待上一个动作正常执行完成后执行
- **禁用**：禁用该动作，通常用于调试
- **叶子节点**：只在叶子节点时生效
- **非叶子节点**：只在非叶子节点时生效
- **条件**：需要满足某种条件后再执行动作，同时需要对**等待执行**、**等待状态**和**启用条件**进行设置。动作在执行前先进行等待，等待结束后根据**启用条件**判断是否执行
  - **等待执行**：
    - 上一个动作：上一个动作，默认为该选项
    - 立即执行：立即执行该动作，与上一个动作并行执行
    - 其他可选动作列表：除了当前动作之外的所有动作列表，按动作设置顺序显示
  - **等待状态**：
    - 完成：等待的动作执行成功
    - 失败：等待的动作执行失败，需要依据动作的类型才会有失败的状态，例如[执行脚本](https://docs.succapp.com/v5/dash/action/script)动作
    - 结束：等待的动作执行结束（包括成功和失败）
  - **启用条件**：输入表达式对动作的使用条件进行限制，当表达式返回`true`时动作生效，否则动作不生效，如等待**上一个动作完成**，**启用条件**为`[参数1]=1`，表示等待上一个动作正常执行完成后，判断参数1的值是否等于1，该动作方可执行

:::tip 更多说明
使用**叶子节点**与**非叶子节点**选项时，前提条件为添加交互的载体组件中所使用的维度字段设置了[数据级次](../../../../data-gov/model/data-hierarchy.md)。
:::

## 设置动作的触发事件{#trigger}

每个动作均可设置生效的前置触发事件，在**触发事件**属性中设置即可。输入组件与非输入组件添加的动作触发事件不同，可分为两类，如下所示：

- **非输入组件**：
  - **单击**：鼠标左键单击或移动端进行点击
  - **双击**：鼠标左键双击
  - **右键单击**：鼠标右键单击
  - **移入**：鼠标移动到该组件时，就触发动作
  - **移出**：鼠标光标从该组件上移开时，触发该动作
- **输入组件**：输入分组下的组件
  - **内容变化**：输入框内容发生变化触发动作
  - **输入**：输入内容时触发该动作。值得注意的是，**正在输入**的时候不是**内容变化**，输入完成并失去焦点后，才是内容变化
  - **回车**：按回车时触发动作
