Я создал div , чтобы я мог перетаскивать файлы . Когда вы перетаскиваете файл через div, событие onDragEnter React срабатывает без проблем.
Однако onDragExit Событие не запускается при перетаскивании из div. Также событие onDrop не запускается при удалении файла, поэтому браузер открывает файл, даже если вы добавили e.preventDefault () в обработчик onDrop.
Я искал по inte rnet исправления, и, похоже, не работает. Другие утверждают, что это ошибка в Chrome et c.
Код ниже является кодом в индексе. js. Вы также можете проверить полный пример кода проекта и отредактировать его на Stackblitz на https://stackblitz.com/edit/react-fnkaqk?file=index.js
import React, { Component } from 'react';
import { render } from 'react-dom';
import './style.css';
const App = () => {
const handleOnDragEnter = (event) => {
console.log("draged enter");
};
const handleOnDragExit = (event) => {
console.log("drag exit");
};
const handleOnDrop = (event) => {
event.preventDefault();
console.log("droped");
};
return (
<>
<h1>Drag File And Drop</h1>
<div style={{height: "100px", backgroundColor: "purple"}} onDrop={handleOnDrop} onDragEnter={handleOnDragEnter} onDragExit={handleOnDragExit}></div>
</>
)
}
render(<App />, document.getElementById('root'));