Back to Dnd Kit

DragDropProvider

apps/docs/solid/components/drag-drop-provider.mdx

latest2.0 KB
Original Source

Overview

The DragDropProvider component is the root component for drag and drop interactions. It creates a DragDropManager instance and makes it available to all descendant components via Solid's context API.

Usage

tsx
import {DragDropProvider} from '@dnd-kit/solid';

function App() {
  return (
    <DragDropProvider
      onDragEnd={(event) => {
        // Handle drop
      }}
    >
    </DragDropProvider>
  );
}

Props

<ParamField path="manager" type="DragDropManager" optional> An optional externally created `DragDropManager` instance. If not provided, one will be created automatically. </ParamField> <ParamField path="plugins" type="Plugin[] | (defaults: Plugin[]) => Plugin[]" optional> Plugins to use. Defaults to the default preset. Pass an array to replace defaults, or a function to extend them.
tsx
// Add a plugin alongside defaults
plugins={(defaults) => [...defaults, MyPlugin]}

// Replace defaults entirely
plugins={[MyPlugin]}
</ParamField> <ParamField path="sensors" type="Sensor[] | (defaults: Sensor[]) => Sensor[]" optional> Sensors to use. Defaults to `PointerSensor` and `KeyboardSensor`. Pass an array to replace defaults, or a function to extend them. </ParamField> <ParamField path="modifiers" type="Modifier[] | (defaults: Modifier[]) => Modifier[]" optional> Modifiers to apply to drag operations. Pass an array to replace defaults, or a function to extend them. </ParamField>

Event Props

PropDescription
onBeforeDragStartCalled before a drag operation begins.
onDragStartCalled when a drag operation starts.
onDragMoveCalled when the dragged element moves.
onDragOverCalled when the dragged element moves over a droppable target. Call event.preventDefault() to prevent the default behavior of plugins that respond to this event.
onDragEndCalled when a drag operation ends (dropped or canceled).
onCollisionCalled when collisions are detected.