useDroppable

参数
interface UseDroppableArguments {
id: string | number;
disabled?: boolean;
data?: Record<string, any>;
}标识符
参数 id 是一个 string 或 number 类型的唯一标识符,即在某个 DndContext provider 下不应存在其他的 droppable 元素使用同一个标识符。
当你同时使用 useDroppable 和 useDraggable 创建一个组件时,它们是可以使用同一个标识符的,因为 droppable 与 draggable 元素不是存储在同一个键值对之中。
禁用
由于不能在条件语句中调用 hook,所以当你需要临时禁用某个 droppable 区域时,可以将 disabled 参数设置为 true。
数据
在一些复杂的使用场景中,你可能需要在事件处理函数、modifiers 或自定义的 sensors 中访问关于 droppable 元素的一些数据,此时可以使用 data 参数。
例如,当你正在开发一个可排序的预置能力,你可以使用 data 属性来存储排序列表中 droppable 元素的索引,便于在自定义的 sensor 中访问它。
另一个更复杂的例子是,data 参数有助于在 draggable 节点与 droppable 区域之间建立关联,例如,通过它可以指定某个 droppable 区域可以接收哪些类型的 draggable 节点。
属性
Node
setNodeRef
setNodeRef为了使 useDroppable 能够正常工作,需要将 setNodeRef 属性附加在想要成为 droppable 区域的 HTML 元素上。
node
node当前节点的引用,其接收了传递的 setNodeRef 参数
rect
rect对于某些复杂的场景,可能需要当前 droppable 区域的边界矩形测量数据。
Over
isOver
isOver当某个 draggable 元素被拖动到 droppable 区域时,可以通过 useDroppable 返回的布尔值类型的 isOver 属性改变其显示的外观或内容。
over
over如果你想要改变 droppable 元素的外观,以响应 draggable 元素被拖动到不同的 droppable 容器之上,可以检查是否定义了 over 值。根据使用场景,也可以通过 id 属性对 其他 droppable 组件的渲染输出进行修改
最后更新于
这有帮助吗?