用现有的过滤器重新绘制所有的dc.js图表

redraw all dc.js charts with existing filters

本文关键字:dc js 绘制 图表 过滤器 新绘制      更新时间:2023-09-26

我有一个dc.js视图,相当复杂。它允许用户过滤掉一组数据,并基于过滤器进行导航。

问题是当用户点击后退按钮时,视图会重新加载图表,但是没有显示应用的过滤器。

是否有一种方法可以让我在现有的交叉过滤对象上重新绘制dc.js图表,并正确设置图形上的"过滤状态"?

更新:

这是一个SPA应用程序,我在浏览器中维护状态并处理视图切换"my self"

我想你会发现,当页面重新加载时,它是一个全新的交叉过滤器对象。没有任何东西被保留,尽管可能有一些技巧可以将内容与浏览器历史记录一起保存或使用浏览器本地存储,但我认为您最终会以某种方式序列化状态。

下面是一个很酷的例子(我的同事)使用URL重写来改变查询字符串以保持过滤器状态:

http://cscheid.net/static/mlb-hall-of-fame-voting/

以某种方式将其抽象到库中会很好,但我不知道是否有人这样做过。源代码在github上:

https://github.com/cscheid/mlb-hall-of-fame-voting