企业级驾驶舱 Dashboards 灵魂:用“数据联动”让你的看板“活”起来
在前期的文章中,我们分享了用 Highcharts Dashboards 的布局引擎(Layout)、组件(Component)和数据池(DataPool)来“搭建”一个静态驾驶舱。但一个静态的驾驶舱是没有灵魂的。
传统的联动是怎么做的?我们监听A图表的 click 事件,然后手动调用 B 图表的 chartInstance.series[0].update(...)。
这种方式在组件少的时候还行,一旦组件超过 5 个,联动的逻辑会变成一团“意大利面条”!
Highcharts Dashboards 彻底解决了这个问题。它的核心理念是:
组件之间不直接通信。所有组件只和“数据池(DataPool)”通信。
今天,我们就来实战这个“架构级”的联动。

核心武器:DataModifier (数据修饰器)
在 Highcharts Dashboards 中,DataModifier(修饰器)是实现联动的灵魂。它就像一个“数据处理器”,可以附加在你的 DataConnector(数据连接器)上。
DataModifier(数据修饰器)是 Highcharts 中用于修改数据的工具,特别是在 DataTables 中。它允许用户在数据表的生命周期内自动修改数据,使得数据以所需的格式呈现变得更加容易。
主要特点:
-
每个表只能有一个修饰器:每个
DataTable只能有一个修饰器,但该修饰器可以调用其他修饰器。 -
克隆可用性:如果
DataModifier修改了DataTable,则可以通过DataTable.getModified()方法访问修改后的数据。 -
修饰器类型:
- Chain:组合多个修饰器。
- Filter:根据指定条件过滤数据。
- Invert:翻转行和列。
- Math:执行复杂计算。
- Range:限制数据在特定范围内。
- Sort:根据指定字段排序数据。
最常用的修饰器就是 Filter (过滤器)。
Highcharts Dashboards 的联动机制,是“状态管理”的思维,而不是“DOM 操作”的思维。
-
解耦 (Decoupling): “按钮”(KPI)和“图表”完全解耦,它们都只依赖“数据池”。
-
可维护性 (Maintainable): 无论驾驶舱有多复杂,数据流向永远是清晰的(
组件事件 -> DataPool -> 依赖组件)。
更多推荐

所有评论(0)