我正在使用反应原生境界。
删除对象似乎不会删除列表和列表项子对象和子列表。应该吗?
我必须递归遍历列表,并删除listItem对象和子列表,然后才能删除根对象列表。
我的解决方法:
function dbDeleteplan(plan) {
if (null == plan) {
return;
}
console.warn('Delete plan:', plan.name);
realm.write(() => {
console.log('dbg: dbDeleteplan:', plan);
if(plan.itemList) {
for(let i = 0; i < plan.itemList.length; ++i) {
realm.delete(plan.itemList[i].position.coords);
realm.delete(plan.itemList[i].position);
realm.delete(plan.itemList[i].imageList);
realm.delete(plan.itemList[i].itemList);
}
}
realm.delete(plan.itemList);
realm.delete(plan);
});
}
我预计删除父对象会起作用但不会:
realm.delete(plan);
是否有正确的方法来删除领域中的对象?
或许在删除旧对象之前,我正在创建一个新对象的异步问题?
提前致谢,
-Ed
答案 0 :(得分:0)
可能这个解决方案有效!!
realm.objects('plan').filtered('plan==%@', VALUE).addListener((tanplan, changes) => {
tanplan.forEach((realmObj,index) => {
realm.delete(realmObj);
});
});