0

我们正在使用材质 CDK 拖放。当一个项目被放入另一个列表时,我们希望将其保存到数据库中。我们正在使用下面的 drop 事件,因此在成功保存数据库之前不会实际发生传输。:-

drop(event: CdkDragDrop<string[]>) {
this.bed.updateBedGuest(guest.guestId, guest.bedId).subscribe(l => {
       
 transferArrayItem(
    event.previousContainer.data,
    event.container.data,
    event.previousIndex,
    event.currentIndex)

    })   
}

}

我们遇到的问题是,即使正在保存,并且正在更新数组,它也不会反映在视图中。该项目只是“看起来”像回到原来的位置。

删除数据库保存,它会正确更新视图。可能与订阅有关?是否有另一种方法可以将更改保存到数据库中?

https://stackblitz.com/edit/angular-p9zmnb-z34idv?file=src%2Fapp%2Fcdk-drag-drop-connected-sorting-group-example.ts

4

0 回答 0