首页 > 解决方案 > React onDrop is not firing

问题描述

Below is the sample code which I'm trying to use, which is react + TypeScript. onDragEnter and onDragOver are working properly but not the onDrop event.

import * as React from 'react';

export class FileZone extends React.Component {

  onDragOver = (e) => {
    let event = e as Event;
    event.stopPropagation();
  }

  onDragEnter = (e) => {
    let event = e as Event;
    event.stopPropagation();
  }

  onFileDrop = (e) => {
    let event = e as Event;
    event.stopPropagation();

    console.log("onFileDrop");
    alert("dropped")
  }

  render() {
    return (
      <div
        onDragEnter={this.onDragEnter}
        onDragOver={this.onDragOver}
        onDrop={this.onFileDrop}>
        Drag and drop file here
      </div>)
  }
}

标签: reactjstypescript

解决方案


最后我得到了这个问题,出于某种原因,我必须像这样处理onDragOver

onDragOver = (e) => {
let event = e as Event;
event.stopPropagation();
event.preventDefault();
}

这解决了我的问题。


推荐阅读