跳至主要内容

useDropZone

創建一个可以拖拽文件的区域

Usage

即時編輯器

function Demo() {
  const ref = useRef<HTMLDivElement>(null);

  const isOver = useDropZone(ref, (_files) => {});
  return (
    <div>
      <p>將文件拖放到放置區域</p>
      <div
        ref={ref}
        style={{
          minHeight: 200,
          display: "flex",
          alignItems: "center",
          justifyContent: "center",
          marginTop: "1.5rem",
          background: "rgba(156,163,175,0.1)",
        }}
      >
        <div> 是否在放置區域上方:{JSON.stringify(isOver)}</div>
      </div>
    </div>
  );
};

結果

將文件拖放到放置區域

是否在放置區域上方:false

API

useDropZone

Returns

boolean: 檔案是否在區域上

Arguments

參數名描述類型預設值
target目标元素BasicTarget<EventTarget> (必填)-
onDrop拖拽释放时候的回调((files: File[] | null) => void) | undefined-

BasicTarget

export type BasicTarget<T extends TargetType = Element> = (() => TargetValue<T>) | TargetValue<T> | MutableRefObject<TargetValue<T>>;

TargetValue

type TargetValue<T> = T | undefined | null;

TargetType

type TargetType = HTMLElement | Element | Window | Document | EventTarget;
ads via Carbon