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