我指的是用于 javascript 的方形交叉过滤器插件
https://github.com/square/crossfilter
在我的应用程序中,用户可以选择特定的日期范围,并且每次更改日期时,ajax 请求都会创建一个 json 对象,该对象会被输入 crossfilter。
我希望能够删除现有的交叉过滤器(屏幕上的对象以及事件)并使用新创建的 json 对象开始一个新的。
我指的是用于 javascript 的方形交叉过滤器插件
https://github.com/square/crossfilter
在我的应用程序中,用户可以选择特定的日期范围,并且每次更改日期时,ajax 请求都会创建一个 json 对象,该对象会被输入 crossfilter。
我希望能够删除现有的交叉过滤器(屏幕上的对象以及事件)并使用新创建的 json 对象开始一个新的。
根据文档,您应该可以通过应用撤消过滤器
.filter(null)
或者
.filterAll()
到你的对象。
但是,我发现这不一定有效,因此最好的办法是将新过滤器应用于新的交叉过滤器对象。
如果您可以提供一些代码以获得更好的上下文,那将很有帮助。
您需要重置从交叉过滤器派生的所有维度上的过滤器以重置它。例如,如果您应用了以下过滤器
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);
这是有道理的,因为它允许您有选择地激活/停用您定义的维度上的过滤器。
if(crossFilter.size() > 0) {
// Need to apply filter to all first
dc.filterAll();
// Then call remove
crossFilter.remove();
}