我无法从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中删除所有项目?
原来是修改我要遍历的数组的一个简单的JS数组问题。用简单的for
向后循环遍历数组:
userMem.fetch().then(function (users){
for (var i = users.length - 1; i >= 0; i--) {
userMem.remove(users[i]._id);
}
});
这对我有用
// Forget all data
myGrid.store.data = [];
// Refresh the grid
myGrid.refresh();