CdkDragAndDrop如何防止拖动
CdkDragAndDrop how to prevent dragging
我正在尝试使用来自 https://material.angular.io/cdk/drag-drop/overview
的 Angular Material CDK DragDrop 模块
通过 cdkDropListDropped 事件,我可以防止掉落,但也不应拖动它。如何告诉 cdkDropList 或每个 cdkDrag 元素禁用拖动?
<div class="list-group" id="orderlist" cdkDropList (cdkDropListDropped)="drop($event)">
<a class="list-group-item"
[class.linked]="ord.linkedToPrevious"
[class.selected]="ord.selected"
*ngFor="let ord of items" (click)="selectOrder(ord, $event)" cdkDrag>
<button class="btn btn-default btn-link linkeditem" [class.linked]="ord.linkedToPrevious"
(click)="linkTechnology(ord, $event)"
[attr.disabled]="editing ? null : true">
<span class="glyphicon glyphicon-link"></span>
</button>
<h4>{{ord.technology.name}}</h4>
</a>
</div>
您可以将 cdkDragHandle 与 属性 结合使用,与“class”绑定,一些 属性 喜欢打开或关闭诸如切换之类的东西。
<div class="example-handle" [class.your-css-class]="!editing" cdkDragHandle>
<svg width="24px" fill="currentColor" viewBox="0 0 24 24">
<path d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"></path>
<path d="M0 0h24v24H0z" fill="none"></path>
</svg>
.your-css-class{
display: none
}
如果要禁用特定拖动项的拖动,可以通过在 cdkDrag
项上设置 cdkDragDisabled
输入来实现。
<div cdkDropList class="list" (cdkDropListDropped)="drop($event)">
<div *ngFor="let item of dragedItems" cdkDrag
[cdkDragDisabled]="item.disabled"> {{item.value}} </div>
</div>
https://github.com/angular/material2/pull/13722/commits/bd56a49dda5b5d2f0f0f2feac829afbe3752f5d5
禁止拖动
如果要禁用特定拖动项的拖动,可以通过在 cdkDrag 项上设置 cdkDragDisabled 输入来实现。此外,您可以使用 cdkDropList 上的 cdkDropListDisabled 输入禁用整个列表,或通过 cdkDragHandle 上的 cdkDragHandleDisabled 禁用特定句柄。
<div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)">
<div
class="example-box"
*ngFor="let item of items"
cdkDrag
[cdkDragDisabled]="item.disabled">{{item.value}}</div>
</div>
您也可以使用 cdkDragHandle Disabled 来禁用拖动手柄
https://material.angular.io/cdk/drag-drop/overview#disabled-dragging
我正在尝试使用来自 https://material.angular.io/cdk/drag-drop/overview
的 Angular Material CDK DragDrop 模块通过 cdkDropListDropped 事件,我可以防止掉落,但也不应拖动它。如何告诉 cdkDropList 或每个 cdkDrag 元素禁用拖动?
<div class="list-group" id="orderlist" cdkDropList (cdkDropListDropped)="drop($event)">
<a class="list-group-item"
[class.linked]="ord.linkedToPrevious"
[class.selected]="ord.selected"
*ngFor="let ord of items" (click)="selectOrder(ord, $event)" cdkDrag>
<button class="btn btn-default btn-link linkeditem" [class.linked]="ord.linkedToPrevious"
(click)="linkTechnology(ord, $event)"
[attr.disabled]="editing ? null : true">
<span class="glyphicon glyphicon-link"></span>
</button>
<h4>{{ord.technology.name}}</h4>
</a>
</div>
您可以将 cdkDragHandle 与 属性 结合使用,与“class”绑定,一些 属性 喜欢打开或关闭诸如切换之类的东西。
<div class="example-handle" [class.your-css-class]="!editing" cdkDragHandle>
<svg width="24px" fill="currentColor" viewBox="0 0 24 24">
<path d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"></path>
<path d="M0 0h24v24H0z" fill="none"></path>
</svg>
.your-css-class{
display: none
}
如果要禁用特定拖动项的拖动,可以通过在 cdkDrag
项上设置 cdkDragDisabled
输入来实现。
<div cdkDropList class="list" (cdkDropListDropped)="drop($event)">
<div *ngFor="let item of dragedItems" cdkDrag
[cdkDragDisabled]="item.disabled"> {{item.value}} </div>
</div>
https://github.com/angular/material2/pull/13722/commits/bd56a49dda5b5d2f0f0f2feac829afbe3752f5d5
禁止拖动 如果要禁用特定拖动项的拖动,可以通过在 cdkDrag 项上设置 cdkDragDisabled 输入来实现。此外,您可以使用 cdkDropList 上的 cdkDropListDisabled 输入禁用整个列表,或通过 cdkDragHandle 上的 cdkDragHandleDisabled 禁用特定句柄。
<div cdkDropList class="example-list" (cdkDropListDropped)="drop($event)">
<div
class="example-box"
*ngFor="let item of items"
cdkDrag
[cdkDragDisabled]="item.disabled">{{item.value}}</div>
</div>
您也可以使用 cdkDragHandle Disabled 来禁用拖动手柄 https://material.angular.io/cdk/drag-drop/overview#disabled-dragging