gpt4 book ai didi

javascript - 使用 filterBy() 应用过滤器时从 ExtJs 存储中清除过滤器的最快方法

转载 作者:数据小太阳 更新时间:2023-10-29 04:06:16 26 4
gpt4 key购买 nike

我正在使用 ExtJS 4.1。我正在使用商店的 clearFilter() 从商店中删除过滤器。我正在使用 filterBy 方法对商店应用过滤器。我正在过滤名称不是罗纳尔多的所有记录。

清除过滤器后,我加载了一个包含网格(附加到商店)的 View 。但是当我加载网格时,我仍然可以看到过滤器没有被清除。该商店是本地商店。我没有在商店中应用任何分组。商店只使用一种型号。

myStore.filterBy(function (record) {
if (record.get('Name') != 'Ronaldo') {
return true;
}
});

虽然所有这些工作正常,但是当我使用 clearFilter() 清除过滤器时,它需要一些时间。当使用 filterBy() 应用过滤器时,是否有任何更快\更好\正确的方法来清除商店上的过滤器?

最佳答案

当您使用 clearFilter() 时,使用 filterBy()filter() 或过滤器并没有什么区别在商店配置。

清除过滤器后会发生以下情况:

  1. 清除商店中的过滤器集合
  2. 过滤后的数据被存储在快照中的原始(未过滤)数据替换
  3. 商店触发“datachanged”和“refresh”事件

请注意,您可以使用 clearFilter(true) 抑制要触发的事件,如果您想在清除现有过滤器后再次过滤商店,这可能会很有用。

如果清除商店的过滤器执行缓慢,则可能与第 3 步触发的布局过程(在您的网格或您使用商店的任何东西上)有关。

另请参阅 docssource code .

关于javascript - 使用 filterBy() 应用过滤器时从 ExtJs 存储中清除过滤器的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19767817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com