【问题标题】:Differentiate cdkDrag and click in angular区分 cdkDrag 并单击角度
【发布时间】:2019-08-19 00:32:53
【问题描述】:

我有一个使用cdkDrag 的可拖动元素,它对我来说很好用。现在,我需要在单击元素时切换一个标志。但是当我拖动元素并放下时,点击事件触发。您能否建议如何与cdkDragclick 一起工作。共享相同的代码 sn-p。

        <div class="draggable-content" cdkDragBoundary=".drop-area" cdkDrag>
          <div class="min-workspace-view" *ngIf="showMinWorkspace === true">
            <mat-icon svgIcon="workspace" class="workspace-icon"
              (click)="$event.stopPropagation(); showMinWorkspace = !showMinWorkspace">
            </mat-icon>
          </div>
        </div>

期望是:当元素被拖动然后点击不应该触发。当刚刚单击元素时,不应触发拖动事件。

【问题讨论】:

标签: angular angular-material angular-cdk


【解决方案1】:

我有办法解决这个问题。

您需要一个布尔属性。我们就叫它dragging吧。

在您的cdkDrag 元素上,添加一个cdkDragStarted 回调,将这个属性设置为true。然后在您的click 回调中,如果this.dragging 为真,则将其设置为假并返回。嘿Presto!

在这里工作堆栈闪电https://stackblitz.com/edit/angular-drag-drop-and-clickable-element

【讨论】:

  • 感谢@Joey,我已经以完全相同的方式解决了这个问题。无论如何将您的答案标记为正确答案。感谢您的帮助
猜你喜欢
  • 2020-04-22
  • 2018-09-18
  • 1970-01-01
  • 2022-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多