web-dev-qa-db-fra.com

l'événement drop ne fonctionne pas angular 2

Je crée un composant de téléchargement dans angular 2 et je tombe sur un problème. (drop) l'événement ne fonctionne pas. Ceci est ma mise en œuvre

<div
class="input-upload"
*ngIf="status != 'finished'"
(drop)="onDrop($event)"
(dragenter)="dragenter()"
(dragleave)="dragleave()"
(dragover)="dragover()"
[ngClass]="{'drag-over': dragOver | async}"
>

onDrop(event: any) {
event.preventDefault();
event.stopPropagation();
console.log(event)
}

Est-ce que je fais quelque chose de mal? J'ai même mis une fonction non existante dans (drop) événement et angular ne donne pas d'erreur.

17
Kliment

AFAIR vous devez appeler event.preventDefault() dans dragOver(event) pour informer le navigateur que l'élément actuellement survolé est une cible de dépôt valide.

Voir aussi https://developer.mozilla.org/en-US/docs/Web/Events/drop

29
Günter Zöchbauer

ajoutez ceci sur votre dragover et dragend

retour faux;

@Il fait déjà ce que tu as dit

3
Mohy Eldeen