gpt4 book ai didi

extjs - 从 ExtJS 存储中删除数组中存在的记录

转载 作者:行者123 更新时间:2023-12-04 20:06:27 25 4
gpt4 key购买 nike

我有一个商店和一个数组。如果该记录的值与数组中的值匹配,我想从存储中删除记录。以下是我正在尝试的代码,但它不起作用。任何人都可以建议正确的方法吗?

'store' 是实际的商店,'filterItems' 是我想从 'store' 中删除的记录数组。

    store.each(function (record) {
for (var i = 0; i < filterItems.length; i++) {
if (record.get('ItemId') === _filterItems[i].get('ItemId')) {
itemIndex = store.data.indexOf(record);
store.removeAt(itemIndex );
}
}
});

最佳答案

不确定您的代码,因为我不知道所有变量。尽管建议使用 store.getRange() fn 并通过 for 循环迭代数组。它的性能更好。

var storeItems = store.getRange(),
i = 0;

for(; i<storeItems.length; i++){
if(Ext.Array.contains(filterItemIds, storeItems[i].get('id')))
store.remove(store.getById(storeItems[i].get('id')));
}

这是我现在尝试的一个例子,它运行良好。

https://fiddle.sencha.com/#fiddle/8r2

关于extjs - 从 ExtJS 存储中删除数组中存在的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25284241/

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