То, что вы хотите, это настроить пользовательское призрачное изображение при использовании drag and drop .
Попробуйте это:
import { Component, OnInit, ElementRef } from '@angular/core';
@Component({
selector: 'app-circle',
templateUrl: './circle.component.html',
styleUrls: ['./circle.component.css']
})
export class CircleComponent implements OnInit {
static id=0;
constructor( private elementRef: ElementRef ) {}
data = '' + (CircleComponent.id++);
isHoveringAboveArea = false;
ngOnInit(): void {
}
handleDragStart(event: DragEvent) {
console.log(event);
event.dataTransfer.setData('text', this.data);
let crt = this.elementRef.nativeElement.cloneNode(true);
crt.style.backgroundColor = "red";
event.dataTransfer.setDragImage(crt, 0, 0); // Here's the magic line
}
drop (event: DragEvent) {
console.log("droped " + event.dataTransfer.getData('text') + " over " + this.data);
}
onDragLeave(event) {
this.isHoveringAboveArea = false;
}
dragover(event: DragEvent) {
// console.log("over: ", event);
event.preventDefault();
this.isHoveringAboveArea = true;
}
}