我无法从dstore中删除所有项目。我正在尝试这个,看起来它应该可行,但它最终失败了:
var TrackableMemory = declare([ Memory, Trackable ]);
var userMem = new TrackableMemory({
data: {the data...},
idProperty: '_id'
});
userMem.forEach(function (userObj) {
userMem.remove(userObj._id);
});
我在this fiddle中提出了一个工作(或不工作)的例子。当找不到最后一条记录时,请在控制台中查看“无法读取属性'_id'未定义”错误。
我还有其他东西连接到这个商店实例,所以我真的不能通过重新定义userMem
来重置所有内容。
我做错了什么?如何从dstore中删除所有项目?
答案 0 :(得分:2)
原来是一个简单的JS数组问题,修改了我迭代的数组。使用简单的for
工作向后循环数组:
userMem.fetch().then(function (users){
for (var i = users.length - 1; i >= 0; i--) {
userMem.remove(users[i]._id);
}
});
答案 1 :(得分:0)
这对我有用
// Forget all data
myGrid.store.data = [];
// Refresh the grid
myGrid.refresh();