我正在使用ngx drag and drop,它使用默认的HTML5 dnd api。
我有一个对象列表,当我移动它们时,我的事件和放置效果的类型为"copy"
我正在尝试寻找一种使事件成为"move"
的方法,因为那应该是什么拖放动作,我希望触发我的OnMove事件
我开始拖动时尝试更改
onDragStart(event:DragEvent, card:KanbanCard) {
event.dataTransfer.dropEffect = "move";
event.preventDefault();
}
但这不起作用
<div class="kanban-column-container">
<p class="title"><strong>{{column.name}}</strong></p>
<button mat-button (click)="addCard();">Add Card</button>
<div class="list"
dndDropzone
(dndDrop)="onDrop($event)">
<!-- PLACEHOLDER for drag & drop. Removed on DOM LOAD AUTOMATICALLY -->
<div class="card-placeholder" dndPlaceholderRef>
placeholder
</div>
<div *ngFor="let card of _cards"
[dndDraggable]="card"
(dndEffectAllowed)="move"
(dndStart)="onDragStart($event, card)"
(dndCanceled)="onDragCanceled($event, card)"
(dndMoved)="onMoved($event)"
(dndEnd)="onDragEnd($event, card)"
[hidden]="card.hidden">
<kanban-card-component [card]="card"></kanban-card-component>
</div>
</div>
答案 0 :(得分:1)
基本上你做错了。 首先,假设它是[]而不是(),因为它不是一个函数。 secound,如果您想输入一个值,它就像您放置的和Object一样,因此可以使这种方法起作用。
assetID