首页 > 解决方案 > 如何使用 cdkDrag 获取 drop 后的位置?

问题描述

嗨,我需要能够拖放一些 html 元素,但我需要知道拖放的结束位置。

使用我从文档中看到的有事件的cdkDrag指令。cdkDragEnded

这是我的模板:

<div cdkDrop>
  <div cdkDrag (cdkDragEnded)="dragEnd($event)">
    ...other stuff
  </div>
</div>

回调是:

dragEnd(event: CdkDragEnd) {
  console.log(event);
}

在控制台中我找到了我需要的东西,但它是事件的私有属性,event.source._dragRef._passiveTransform我在编译时收到错误消息。

你知道这些数据或我可以使用的其他东西是否以某种方式暴露了吗?

标签: angulardrag-and-dropdraggable

解决方案


只需source.getFreeDragPosition()(getFreeDragPosition)这样的事件中使用:

dragEnd($event: CdkDragEnd) {
    console.log($event.source.getFreeDragPosition());
}

推荐阅读