HTML5

这是 React-DnD 支持的主要后端。它在引擎盖下使用 HTML5 拖放 API,并隐藏其怪异之处

安装

npm install react-dnd-html5-backend

扩展

除默认导出外,HTML5 后端模块还提供一些额外功能:

  • getEmptyImage():是一个返回透明空图像的函数。使用 DragSourceConnector 的 connect.dragPreview() 功能可完全隐藏浏览器绘制的拖动预览。这对使用 DragLayer 绘制自定义拖动图层非常有用。请注意,自定义拖动预览在 IE 中不起作用。
  • NativeTypes:是一个由三个常量组成的枚举:NativeTypes.FILE, NativeTypes.URL 和 NativeTypes.TEXT。您可以为这些类型注册下拉目标,以处理本地文件、URL 或常规页面文本的下拉。

用法

import { HTML5Backend } from 'react-dnd-html5-backend'
import { DndProvider } from 'react-dnd'
export default function MyReactApp() {
return (
<DndProvider backend={HTML5Backend}>
/* your drag-and-drop application */
</DndProvider>
)
}

在监视器上调用 getItem() 时,HTML5 后端会根据下拉类型从事件中获取各种数据:

  • NativeTypes.FILE:
    • getItem().files:文件数组
    • getItem().items: event.dataTransfer.items(您可以用它来在删除目录时列出文件)
  • NativeTypes.URL:
    • getItem().urls:URL 数组
  • NativeTypes.TEXT:
    • getItem().text:文本字符串