createDragControls
createDragControls returns a controller for dragControls. Call controls.start(event) from a
separate handle's onPointerDown to start dragging without making that handle draggable.
import { createDragControls, motion } from 'motion-solidjs'
function Sheet() {
const controls = createDragControls()
return (
<>
<button onPointerDown={(e) => controls.start(e)}>Drag</button>
<motion.div drag dragListener={false} dragControls={controls} />
</>
)
}
API
createDragControls()- returns a controls object.start(event, options?)- begins drag; pass thePointerEventfrom your handler- Pair with
dragListener={false}on the draggable so it ignores its own pointer events