对Ext.data应用过滤器.Store’,同时添加到该Store中

Applying a filter to an `Ext.data.Store` while adding to said store

本文关键字:Store 添加 data Ext 应用 过滤器      更新时间:2023-09-26

我有一些JavaScript,它向我的用户展示了一个项目列表。他们可以选择过滤项目(有很多要看的),同时,服务器推送正在添加新项目。

当用户选择过滤器时,我将过滤器应用于Ext.data.Store,如下所示:

myStore.filterBy(function(record) {
    return (record.data.type === filter);
});

当服务器推送一个新项目显示时,我使用addSorted添加它:

myStore.addSorted(new Ext.data.Record.create(fields)(item));

…但是当用户选择过滤器时,服务器发送的新项目不会被过滤掉。

我如何设置一个Ext.data.Store过滤器,这样调用addSortedadd将尊重应用于存储的过滤器?

恐怕唯一的解决方案是在添加新记录后重新应用filterBy函数。