3

我指的是用于 javascript 的方形交叉过滤器插件

https://github.com/square/crossfilter

在我的应用程序中,用户可以选择特定的日期范围,并且每次更改日期时,ajax 请求都会创建一个 json 对象,该对象会被输入 crossfilter。

我希望能够删除现有的交叉过滤器(屏幕上的对象以及事件)并使用新创建的 json 对象开始一个新的。

4

3 回答 3

3

根据文档,您应该可以通过应用撤消过滤器

.filter(null)

或者

.filterAll()

到你的对象。

但是,我发现这不一定有效,因此最好的办法是将新过滤器应用于新的交叉过滤器对象。

如果您可以提供一些代码以获得更好的上下文,那将很有帮助。

于 2012-05-15T14:23:30.943 回答
1

您需要重置从交叉过滤器派生的所有维度上的过滤器以重置它。例如,如果您应用了以下过滤器

payments_by_quantity.filter([1, Infinity]);
payments_by_total.filter(90);
payments_by_tip.filter(0);
payments_by_type.filter("tab");

您需要重置每一个以返回原始状态:

payments_by_quantity.filter(null);
payments_by_total.filter(null);
payments_by_tip.filter(null);
payments_by_type.filter(null);

这是有道理的,因为它允许您有选择地激活/停用您定义的维度上的过滤器。

于 2012-06-07T21:14:46.377 回答
0
if(crossFilter.size() > 0) {
     // Need to apply filter to all first
     dc.filterAll(); 
     // Then call remove
     crossFilter.remove();
 }
于 2013-12-10T14:22:59.177 回答