首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在React.js中拖放。如何在setDragImage中传递自定义react组件

问在React.js中拖放。如何在setDragImage中传递自定义react组件
EN

Stack Overflow用户
提问于 2019-05-09 14:15:09
回答 1查看 417关注 0票数 7

我在React.js中实现了拖放。如何在React.js中实现Darg和Drop中传递自定义react组件。我想让我的自定义react组件作为拖拽组件的预览图像。如何在setDragImage中传递自定义react组件。我不想要图像。

代码语言:javascript
复制
onDragStart = (e, index) => {

    this.draggedIndex = index;
    this.draggedItem = this.state.list[index];
    e.dataTransfer.effectAllowed = "move";
    e.dataTransfer.setData("text/html", e.target.parentNode);
    e.dataTransfer.setDragImage(e.target.parentNode, 20, 20);
};

预期的结果是一个自定义预览组件。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-09-30 21:44:37

我一直在寻找同样的东西,直到我最终偶然找到了答案。希望这对某些人有帮助(TSX):

代码语言:javascript
复制
private onDragStart(e: React.DragEvent) {
    let image: JSX.Element = (<></>); // <== whatever you want here

    var ghost = document.createElement('div');
    ghost.style.transform = "translate(-10000px, -10000px)";
    ghost.style.position = "absolute";
    document.body.appendChild(ghost);
    e.dataTransfer.setDragImage(ghost, 0, 0);

    ReactDOM.render(image, ghost); 
}

(这有点过于简单,因为您还需要在删除之后从DOM中删除ghost )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56053232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档