我正在尝试使用Angular Material cdkDragDrop。
列表试图从一个嵌套对象中填充。我能够显示列表,但当我试图移动一个项目时,它没有出现在 "已添加的详细信息 "列表中。
编码:/stackblitz.comeditangular-awxclk? https:/stackblitz.comeditangular-awxclk?file=src%2Fapp%2Fcdk-drag-drop-connected-sorting-example.html。
在你的代码中,你使用了 moveItemInArray
和 transferArrayItem
方法的第一个参数是一个数组。在你的例子中,你把它指向一个对象,所以方法在内部抛出。
你要做的是使用实际的集合作为方法的参数。[cdkDropListData]
的两个容器中。然后,您在 *ngFor
指令。
所以,在你的 constructor
onInit
你将对象转化为数组,并将该数组作为 [cdkDropListData]
. 然后,如果你愿意,你可以将数组转换回对象,并在drop方法的最后更新它。