如何检查过滤器商店集合中是否存在给定过滤器?

时间:2014-09-03 08:43:36

标签: extjs4.2

我有类似的东西:

if (store.filters.contains('FilterByCountry')) {
     store.removeFilter('FilterByCountry');
};

之前我创建过滤器并将其添加到该商店的过滤器集合中:

filterByCountry = new Ext.util.Filter({
                filterFn: function(record) {
                    return (record.get('isDefault') === true) ||    (Ext.Array.contains(record.get('assignedCountries'), countryId));
                },
                id: 'FilterByCountry'
            });
            store.addFilter(filterByCountry);

一切都很好,我可以查看过滤器集合,我看到我添加的过滤器ID为'FilterByCountry' 但是

if (store.filters.contains('FilterByCountry')) {
         store.removeFilter('FilterByCountry');
    };

总是假的。如何测试过滤器集合中是否存在过滤器?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:我必须使用store.filters.containsKey(filterId)。它的工作原理