【问题标题】:How to update position of Angular cdkDropList?如何更新 Angular cdkDropList 的位置?
【发布时间】:2020-08-14 17:13:45
【问题描述】:

我有这个问题很长一段时间了,无法弄清楚,想问是否可以提供帮助。不知何故,cdkDropList 的“放置区域”的位置 在我为其设置动画时不会更新

  • 我想做的事

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

  • 会发生什么:

动画效果很好,但是当我将 Item 拖入 Bin 时,Bin 无法识别。我所说的“未识别”是指未触发 BincdkDropListDropped 功能。 只有当我通过拾取和放下 Item 来制作动画时才会出现此问题。我还尝试使用一个按钮为 Bin 设置动画,单击该按钮让 bin 出现/消失,效果很好(但这不是我想要实现的方式)。

  • 示例:

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

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

注意:在示例的控制台中,当 Item 被放入 Bin 时,您将看到 Dropped something。当 Item 被放回或放在 bin 外的任何位置时,它将在控制台中打印 Dropped back

  • 到目前为止我的尝试:

使用...

...CSS 动画而不是 Angular

...ChangeDetectorRef

...Timeout

我真的被困住了,不知道如何解决这个问题,希望得到任何建议或帮助。

【问题讨论】:

    标签: angular typescript angular-cdk-drag-drop


    【解决方案1】:

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

    Ticket #1

    Ticket #2

    Ticket #3

    我想我只需要等待修复。

    【讨论】:

      猜你喜欢
      • 2019-11-13
      • 1970-01-01
      • 2019-04-03
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      相关资源
      最近更新 更多