У меня есть галерея изображений, и я намерен перетащить эти изображения в зону перетаскивания.
Я пытался использовать ее в двух случаях (с помощью мыши перетащите изображение и с помощью cdk drag & drop, который позволяет мне перемещать изображение и в область перетаскивания.)
Есть ли способ получить объект (name, id ...) из изображения, которое сбрасывается в зоне перетаскивания? Я пытаюсь перетащить изображение в зону перетаскивания, и когда я выпускаю его туда, я хочу знать, какое изображение было отброшено.
Есть ли способ добиться этого? Кто-нибудь может мне помочь?
Большое спасибо!
DEMO - STACKBLITZ
.TS
onFileDropped($event) {
this.prepareFilesList($event);
console.log("evt", $event )
}
fileBrowseHandler(files) {
this.prepareFilesList(files);
}
async prepareFilesList(files: Array<any>) {
}
@HostBinding('class.fileover') fileOver: boolean;
@HostBinding('style.background-color') private background = '#f5fcff'
@Output() fileDropped = new EventEmitter<any>();
// Dragover listener
@HostListener('dragover', ['$event']) onDragOver(evt) {
evt.preventDefault();
evt.stopPropagation();
this.fileOver = true;
this.background = '#9ecbec';
}
// Dragleave listener
@HostListener('dragleave', ['$event']) public onDragLeave(evt) {
evt.preventDefault();
evt.stopPropagation();
this.background = '#f5fcff'
this.fileOver = false;
}
// Drop listener
@HostListener('drop', ['$event']) public ondrop(evt) {
evt.preventDefault();
evt.stopPropagation();
this.background = '#f5fcff'
this.fileOver = false;
let files = evt.dataTransfer.files;
this.fileDropped.emit(files);
}
Использование изображений (cdkDrag) Мне не удалось получить какие-либо события в зоне сброса, которые обнаруживают запись чего-либо.
Используя обычные изображения, я смог выполнить функция
onFileDropped ($ event) {
this.prepareFilesList ($ event);
console.log ("evt", $ event)
}
но я не получил результатов, как показано на рисунке.