项目
版本

Uppy 拖放目标(Drop Target)

@uppy/drop-target 插件允许用户将文件拖放到页面上的任何元素上,例如整个页面或 document.body

可以与 Uppy Dashboard 或 Drag & Drop 插件一起使用,或者针对任何 DOM 元素的自定义解决方案。

何时应该使用这个?

当你希望让用户在自己的 UI 中拖放文件,而不是在 Dashboard UI 中,或者捕获从页面任意位置拖放的文件时。

安装

  • npm

    npm install @uppy/drop-target
    
  • yarn

    yarn add @uppy/drop-target
    
  • CDN

    <!-- 1. Add CSS to `<head>` -->
    <link href="https://releases.transloadit.com/uppy/v3.27.3/uppy.min.css" rel="stylesheet">
    
    <!-- 2. Initialize -->
    <div id="uppy"></div>
    
    <script type="module">
        import { DropTarget } from "https://releases.transloadit.com/uppy/v3.27.3/uppy.min.mjs"
        const DropTarget = new Uppy().use(DropTarget)
    </script>
    

使用

此模块有一个默认导出:DropTarget 插件类。

import Uppy from "@uppy/core";
import DropTarget from "@uppy/drop-target";

import "@uppy/core/dist/style.css";
import "@uppy/drop-target/dist/style.css";

const uppy = new Uppy();
uppy.use(DropTarget, {
  target: document.body,
});

API

选项

onDragLeave

用于监听 dragleave 事件 的事件监听器。

uppy.use(DropTarget, {
  target: document.body,
  onDragLeave: (event) => {
    event.stopPropagation();
  },
});

onDragOver

用于监听 dragover 事件 的事件监听器。

onDrop

用于监听 drop 事件 的事件监听器。

target

放置拖放区域的 DOM 元素、CSS 选择器或插件( stringElementFunctionUIPlugin,默认:null )。

在本文档中