我正在尝试做简单的拖放功能。我想设置一些数据在拖动通过dataTransfer.setData(),并使它在拖放通过dataTransfer.getData()。我总是得到空字符串("")。
请查看复制示例https://codesandbox.io/s/quizzical-lamport-p7cqiv?file=/src/Sample.js的链接
拖放和检查控制台
我的环境:
浏览器:Chrome
OS:Windows
React库
发布于 2022-09-29 12:37:23
你用错了事件。您应该使用onDragStart
事件:
import React from "react";
class Abc extends React.Component {
drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
allowDrop(ev) {
ev.preventDefault();
}
drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text");
console.log("data", data);
}
render() {
return (
<>
<div id={"some_id"} onDragStart={this.drag} draggable={true}>
Drag Me
</div>
<div onDragOver={this.allowDrop} onDrop={this.drop}>
Drop On me
</div>
</>
);
}
}
export default Abc;
https://stackoverflow.com/questions/71886791
复制相似问题