【发布时间】:2020-02-13 08:02:08
【问题描述】:
如何删除列表项?我尝试从与列表关联的数组中删除该项目,但这完全破坏了列表。
我使用 Angular (with Material) 9.0
【问题讨论】:
-
请为它添加一个堆栈闪电战。
-
在 drop 函数中,你有 event 作为参数。这里有属性:container、previousContainer、index、previousIndex,参见material.angular.io/cdk/drag-drop/api#CdkDragDrop。你需要创建一个
splice(previousContainer.data,previousIndex,1)或类似的 - 不要使用函数 transferArrayItem- -
@Eliseo 谢谢,它的工作非常好!我尝试使用 slice,但它不能正常工作,显然是由于数组替换。
-
@VasiliMaslov,这个想法是使用“事件”参数中的数据。为了让事情变得简单,Angular 给了我们函数 transferArray。如果你好奇,可以在 github 中查看:github.com/angular/components/blob/master/src/cdk/drag-drop/…。你看它只是一个函数。我们可以使用或不使用此功能,当使用拖放时,我们正在使用 cdkDropList,我们使用拖动来管理数组(重新排序,交换两个不同数组的两个元素,...)。完成拖动后,使用这些数组重新绘制组件
-
请显示代码以便对其他人有所帮助,如果您找到了解决方案,请回答问题。谢谢!