DropTargetMonitor
React DnD 新手?在进入文档之前请阅读概述
DropTargetMonitor
Drop Target Monitor 是传递给 hooks-based 的收集函数的对象。它的方法让你可以获取有关特定放置目标的拖动状态的信息。绑定到该监视器的特定放置目标在下面称为监视器的所有者。
方法列表
canDrop():如果正在进行拖动操作,则返回true,并且所有者的canDrop()返回true或未定义。isOver(options):如果正在进行拖动操作,并且指针当前悬停在所有者上,则返回true。你可以选择传递{ shallow: true }来严格检查是否_only_所有者被悬停,而不是嵌套目标。getItemType():返回一个字符串或一个符号,标识当前拖动项的类型。如果没有项目被拖动,则返回null。getItem():返回一个表示当前拖动项目的普通对象。每个拖动源都必须通过从其beginDrag()方法返回一个对象来指定它。如果没有项目被拖动,则返回null。getDropResult():返回一个表示最后记录的丢弃结果的普通对象。放置目标可以选择通过从它们的drop()方法返回一个对象来指定它。当为嵌套目标调度drop()操作流时,自下而上,任何从drop()显式返回其自己的结果的父级都会覆盖子级先前设置的删除结果。如果在drop()之外调用,则返回null。
didDrop()如果某个放置目标已经处理了放置事件,则返回true,否则返回false。即使目标没有返回丢弃结果,didDrop()也会返回true。在drop()中使用它来测试任何嵌套的放置目标是否已经处理了放置。如果在drop()外部调用,则返回false。getInitialClientOffset():返回当前拖动操作开始时指针的{ x, y }客户端偏移量。如果没有项目被拖动,则返回null。getInitialSourceClientOffset():返回当前拖拽操作开始时拖拽源组件的根DOM节点的{ x, y }客户端偏移量。如果没有项目被拖动,则返回null。getClientOffset():在拖动操作正在进行时返回指针的最后记录的{ x, y }客户端偏移量。如果没有项目被拖动,则返回null。getDifferenceFromInitialOffset():返回上次记录的指针客户端偏移量与当前拖动操作开始时的客户端偏移量之间的差值。如果没有项目被拖动,则返回null。getSourceClientOffset():根据当前拖动操作开始时的位置,返回拖动源组件的根DOM节点的投影的{ x, y }客户端偏移量,和运动差异。如果没有项目被拖动,则返回null。