如何从 Dojo dstore 中删除所有项目?
How can I remove all items from a Dojo dstore?
我无法从 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 中提出了一个有效(或无效)的示例。当找不到最后一条记录时,请查看控制台以获取 "cannot read property '_id' of undefined" 错误。
我还有其他东西连接到这个商店实例,所以我不能真的通过重新定义 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();
我无法从 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 中提出了一个有效(或无效)的示例。当找不到最后一条记录时,请查看控制台以获取 "cannot read property '_id' of undefined" 错误。
我还有其他东西连接到这个商店实例,所以我不能真的通过重新定义 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();