从商店中删除多条记录的最佳方法是什么?ExtJS的

Koh*_*ami 4 javascript extjs extjs4 extjs5

使用extjs中的条件删除多个记录的最佳方法是什么?

例如:

var store = Ext.create('Ext.data.Store', {
    data: [
        {name: 'Ed', age: 21},
        {name: 'Tommy', age: 15},
        {name: 'Aaron', age: 18},
        {name: 'John', age: 22}
    ]
});
Run Code Online (Sandbox Code Playgroud)

我想删除'年龄'小于20的记录(在这种情况下,'Tommy'和'Aaron').这个问题可能与如何找到多个条件的多个记录相同.

Emi*_*ary 5

仅使用公共 API并记住您可能不希望直接过滤商店或逐个删除项目,因为这会在任何连接的UI组件上触发不必要的重绘 - 您可以使用以下内容:

var subCollection = store.getData().createFiltered(function(item){
    return item.get('age') < 20;
});

store.remove(subCollection.getRange());
Run Code Online (Sandbox Code Playgroud)