角CDK拖放-转移项目而不会失去可见性

时间:2019-08-22 18:42:34

标签: angular angular-cdk

当我检查该项目时,它似乎已被激活。此类是:“ cdk-drop-list-receiving”。我该如何做我不希望以任何方式丢失的事情?预先谢谢你。

enter image description here

备用图片网址:https://i.hizliresim.com/DOOkP6.gif

这不是我独有的问题。您还可以看到示例。执行转移操作,您将在离开列表之前发现它已“隐藏”在列表中。 https://stackblitz.com/edit/angular-cdk-drag-drop

在不释放我想要的元素的情况下不要让他消失。

1 个答案:

答案 0 :(得分:3)

这里本质上有两个挑战

  1. 保留可重复拖放(复制,而不是从拖放容器传输项目)的零件的顶部列表

  2. 防止使用默认触发器,该触发器一旦位于不同的拖放区上就会从拖动列表中删除该元素

第一个非常简单,您可以使用moveItemInArray方法而不是transferItem,此处是一个示例闪电战:

https://stackblitz.com/edit/angular-xjex4y

第二个挑战(以至于它不会暂时消失)似乎更具挑战性,这里有大量的讨论正在进行:https://github.com/angular/components/issues/13100

此处提供了一种解决方法:https://stackblitz.com/edit/angular-cdkdrag-across-templates-using-ids