我正在开发一个使用 Angular Material 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 };
}
但是到目前为止没有成功。
event.source._dragRef.reset();
代替手动设置元素变换和source._passiveTransform
。 - AleRubis