交互与联动
零配置的点选过滤与右键明细、在「交互」页签为组件加联动、交互总览、明细下推与明细弹窗页的配置说明。
概述
Sight Wall 的交互分两层。第一层不用配置:在运行页左键点图表柱子、表格行、榜单项,本屏按该值过滤,右键出菜单查看明细。第二层是作者配置的联动:给组件加一条「什么时候 → 做什么」的规则,例如点击图表项打开明细弹窗页、切换页面、把值写进页面变量让别的组件跟着变。复杂的条件、定时与变量监听在交互蓝图与动作里配。
功能入口
- 设计器右栏「交互」页签:选中单个组件后使用,包含「加一条联动」「这个组件上已有的」「明细下推」。多选时不可用,因为联动的来源只能是一个组件。
- 工具栏「交互」:打开「交互总览」,「清单」列出全屏联动,「编排图」打开节点编排。
- 运行页:直接点击与右键。
操作步骤
用零配置过滤与明细
- 预览或打开运行页。
- 左键点图表的柱子、表格的一行或榜单的一项:本屏所有引用同一维度值的数据集按该值过滤,屏幕顶端出现「正在按「X」过滤本屏」提示条;再点同一个值,或点提示条的「取消」,取消过滤。
- 右键点数据项:菜单有「按「X」过滤本屏」(已过滤时为「取消「X」的过滤」)和「查看「X」的明细」。右键组件空白处:「查看明细数据」和「取消「X」的过滤」。
- 「查看明细」弹窗显示当前屏幕上那份数据,最多 200 条,超出时提示「只显示前 200 条,共 N 条」。
给组件加一条联动
- 选中组件,切到右栏「交互」页签。
- 在「加一条联动」里,「什么时候」下拉只列该组件真的发得出的事件;「做什么」选动作:
| 动作 | 还需要指定 |
|---|---|
| 打开明细弹窗 | 「选一页作为明细弹窗」,要求大屏至少有两页 |
| 联动本页 | 「把值写进哪个变量」;没有变量时点「新建一个并接上」就地新建 |
| 高亮同名项 | 无 |
| 切换页面 | 「跳到哪一页」 |
| 显隐另一个组件 | 在画布上点选目标组件:「在画布上点选」,重选用「重新点选」 |
- 点击「加这条联动」。已有联动列在「这个组件上已有的」,可以删除;「看全屏有哪些」打开交互总览。

用交互总览管理全屏联动
- 点击工具栏「交互」,在「交互总览」的「清单」里看每条联动的「来源组件」「什么时候」「做什么」。
- 点一行跳回该组件的「交互」页签修改;带「编排图」标记的联动用了条件判断或不挂在组件上的事件,要在「编排图」里改;带「旧式」标记的是早期存下来的联动,可在「编排图」里合并。
配置明细下推
- 选中汇总类组件(例如按科室汇总的柱状图),在「交互」页签的「明细下推」选「明细数据集」,占位提示是「不配:看屏上这份数据」。
- 需要时填「明细参数」,即明细数据集 SQL 里的
$参数名;不填则用被点中那一列的列名。 - 右键「查看明细」时,会带着被点中的值回后端查这份明细数据集,弹窗上标「明细表」。无法回后端查询时,弹窗改显示明细数据集自带的样例行,并标「样例数据」。
属性/参数说明
触发(事件)
| 事件 | 说明 | 发出的组件 |
|---|---|---|
| 点击组件 | 点组件任意位置 | 所有组件 |
| 双击组件 | 双击 | 所有组件 |
| 悬停组件 | 鼠标悬停 | 所有组件 |
| 点击数据项 | 点某根柱子、某个排行项或表格某一行 | 图表、排行、表格 |
| 地图下钻 | 下钻或面包屑回退 | 地图 |
| 页面加载 | 运行页加载完成 | 不挂在组件上,仅在蓝图中 |
| 定时器 | 按间隔重复触发 | 不挂在组件上,仅在蓝图中 |
| 变量变化 | 指定变量的值变化 | 不挂在组件上,仅在蓝图中 |
事件载荷:「点击数据项」带 name(点击项名称)、value(数值)、seriesName(系列名)和点击行;「地图下钻」的 name 是行政区名,value 是行政区编码,seriesName 是层级,点击行含 adcode、level、name、path;回到根层时 name、value 为空。
动作
| 动作 | 说明 |
|---|---|
| 设置变量 | 把值写进页面变量;取值来源见下表,默认固定值 |
| 重置变量 | 清空变量的运行期取值,回到默认 |
| 切换页面 | 切到指定页面 |
| 打开链接 | 在新标签页打开链接 |
| 高亮联动 | 点击数据项后本页图表里的同名项一起高亮,再点取消 |
| 打开弹窗 | 把指定页面的组件以浮层叠加显示,点遮罩关闭 |
| 过滤数据集 | 指定数据集与匹配字段,行值等于取值的行保留;取值默认为点击项名称,再点同值取消 |
| 显示组件 / 隐藏组件 / 显隐切换 | 运行期改变目标组件的显隐,不改设计稿 |
| 刷新数据 | 刷新指定数据集,不指定则刷新全部可刷新数据集 |
取值来源
| 来源 | 说明 |
|---|---|
| 固定值 | 手工填写 |
| 点击项名称 | 事件载荷的 name |
| 点击项数值 | 事件载荷的 value |
| 点击项系列名 | 事件载荷的 seriesName |
| 点击行字段 | 从点击行按字段名取值,需填「取值字段」 |
示例
「点科室,看该科室明细」:
- 建明细数据集
就诊明细:SELECT * FROM outpatient_visit WHERE dept = $dept,并在「报表参数」定义参数dept。 - 选中按科室汇总的柱状图,在「交互」>「明细下推」里「明细数据集」选
就诊明细,「明细参数」填dept。 - 预览时右键「内科」柱子,选「查看「内科」的明细」,弹窗显示
dept = 内科的明细行,标记为「明细表」。
注意事项
注意:作者给某个组件配过「点击数据项」联动或蓝图节点后,该组件不再走零配置的点选过滤,避免同一次点击出现两种结果。
注意:地图的左键是下钻,不联动过滤;右键地图区域与右键数据项相同。
注意:推不出数据集的组件没有明细和过滤菜单项。不配「明细下推」时,明细看到的是该组件自己那份汇总数据,不是回后端查的明细。
注意:零配置的过滤和明细在前端按行过滤,只影响运行页,不改数据集。
注意:联动本页要先有页面变量,且引用该变量的组件、数据集参数才会跟着变,见数据接入。删除组件不会自动删除指向它的联动,这类联动不报错、只是永远不触发,可用「自检」的「交互引用完整性」排查。
提示:设计态看不出联动是否配对,配完一定要预览一次。