如何更新 Angular cdkDropList 的位置?

How to update position of Angular cdkDropList?

我有这个问题有一段时间了,想不通,想问一下是否可以提供帮助。 cdkDropList 的 'drop area' 的位置在我设置动画时不会更新

创建一个 cdkDropList <div> 作为容器(我们称之为 cdkDropList <div> Bin),其中我从另一个列表中删除 cdkDrag 个元素(让我们称 cdkDrag 个元素为 Item)。 Bin 应该 飞入 Item 被拾起并且 飞出 Item 被丢弃时(无论它是回到原来的 cdkDropList 还是 Bin)。

动画效果很好,但是当我将 Item 拖入 Bin 时,Bin 无法识别。我说的'not recognized'是指BincdkDropListDropped函数没有被触发。 只有当我通过拾取和放下 Item 来制作动画时才会出现此问题。我还尝试使用一个按钮为 Bin 设置动画,我单击该按钮让 bin appear/disappear 并且工作正常(但这不是我想要实现它的方式)。

https://stackblitz.com/edit/angular-cvbare?file=src%2Fapp%2Fapp.component.html

在这个 Stackblitz 示例中,我重新创建了不起作用的东西,因为如果没有上下文,发布我的代码会太多并且难以理解。

注意: 在示例的控制台中,当 Item 被放入 [=51] 时,您将看到 Dropped something =]斌。当 Item 被放回垃圾箱外或任何地方时,它将在控制台中打印 Dropped back

正在使用...

...CSS 动画而不是 Angular

...ChangeDetectorRef

...Timeout

我真的很困惑,不知道如何解决这个问题,如果有任何建议或帮助,我将不胜感激。

这似乎是一个错误,目前尚未解决。刚在 Github 上找到与此错误相关的这些票证:

Ticket #1

Ticket #2

Ticket #3

我想我只能等待修复。