【发布时间】:2019-05-05 15:47:16
【问题描述】:
我正在一个应用程序中实现从角度材料 CDK 进行新的拖放操作,并且我正在尝试取消按下 Esc 的元素的拖动事件,我的意思是,我开始拖动元素,但如果我按下Esc 当我拖动元素时,它应该回到我开始拖动它的位置,到目前为止我还没有找到这样做的方法,有谁知道我该怎么做。 cdk 文档中没有关于此的任何想法。我尝试做这样的事情。
模板
<div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)">
<div class="example-box" *ngFor="let movie of movies" (cdkDragEnded)="onDragEnded($event)" cdkDrag>{{movie}}</div>
</div>
Ts 组件
onDragEnded(event: CdkDragEnd) {
console.log(event)
event.source.element.nativeElement.style.transform = 'none';
const source: any = event.source;
source._passiveTransform = { x: 0, y: 0 };
}
但目前没有成功。
【问题讨论】:
-
你解决了吗?谢谢,E。
-
很遗憾还没有......
-
要将拖动的元素重置为其原点,而不是手动设置元素变换和
source._passiveTransform,您现在可以执行event.source._dragRef.reset();
标签: javascript angular angular-material angular-cdk