删除领域对象并更新关系

时间:2017-05-01 06:23:25

标签: javascript android reactjs react-native realm

更新

如果我将删除功能更改为:

ListView

一切正常。没有错误,UI会相应更新。

为什么我需要通过我的预订对象删除我的笔记?为什么我的领域不允许我直接删除我的Notes对象?

我的应用处理任务,其预订,其中包含备注。我正致力于删除笔记。

我的笔记以function deleteResNote(noteObj) { realm.write(() => { realm.delete(noteObj) }) } 呈现。当点击单元格时,我将Note对象(Realm Object)传递给我的删除方法,并最终调用:

ListView

删除后,此方法会触发以下错误:

  

错误:访问已删除的Notes类型的对象

保存我的handleReservationNotes = taskId => { let dataBlob = {} let sectionIDs = [] let rowIDs = [] let reservations = [] const details = Tasks.getTask(taskId) Object.values(details.reservations).forEach((reservation, i) => { reservations.push({ id: reservation.id, lead: reservation.lead_name }) // manage our sections sectionIDs.push(reservation.id) dataBlob[reservation.id] = reservation.lead_name // manage our rows rowIDs[i] = [] Object.values(reservation.notes).forEach((note, j) => { rowIDs[i].push(j) dataBlob[`${reservation.id}:${j}`] = note }) }) this.setState({ dataSource: this.state.dataSource.cloneWithRowsAndSections(dataBlob, sectionIDs, rowIDs), reservations, selectedReservationId:reservations[0].id, }) } 的组件被设置为侦听领域更改事件,并且再次使用用于第一次渲染的相同方法来重新呈现更新的注释。我认为指出在此方法中,通过父Task对象访问Notes非常重要。

{{1}}

似乎我正在从数据库中正确删除注释,但我的预订对象似乎仍然坚持它。

如何在更新所有适当的关系时成功删除注意

0 个答案:

没有答案