Modifiers
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
Modifiers 可以让你动态地修改 sensors 检测到的移动坐标。它们可以应用于很多的使用场景,例如:
将移动限制在单一坐标轴上
将移动限制在 draggable 节点容器的矩形边框内
将移动限制在 draggable 节点的滚动容器矩形边框内
施加阻力或夹紧运动
开始使用 modifiers 前,请先通过 yarn
或 npm
安装依赖包。
@dnd-kit/modifiers
包中提供了很多有用的 modifiers,可以应用到 和 中。
从上面的示例中可以看出,在 DndContext
和 DragOverlay
中都可以使用不同的 modifiers。
restrictToHorizontalAxis
将移动限制在横向坐标轴上。
restrictToVerticalAxis
将移动限制在纵向坐标轴上。
restrictToWindowEdges
将移动限制在窗口的边缘处。该 modifier 可以有效地阻止 DragOverlay
移出窗口的边界。
restrictToParentElement
将移动限制在被选中的 draggale 元素的父元素内。
restrictToFirstScrollableAncestor
将移动限制在被选中的 draggable 元素的第一个可滚动的上层元素内。
createSnapModifier
该函数的作用是创建 modifiers 以实现对齐给定大小的网格。
例如,下面的代码就创建了一个 modifier 可以实现网格对齐:
参考 @dnd-kit/modifiers
内置的 modifiers 实现,可以创建自定义的 modifiers: