vue-easy-dnd

Lightweight Vue 3 drag-and-drop components for sortable lists, nested drop zones, mouse, and touch input.
309,606 398
Install
npm install vue-easy-dnd
Latest Version:3.0.0
Vue:3
Older releases:2
License:MIT
Last Updated:Aug 1, 2026
Links: GitHub  ·  npm
Maintainer: ddosattack

Vue Easy DnD — Vue 3 Drag and Drop Library

Vue Easy DnD is a lightweight Vue 3 drag-and-drop component library for mouse and touch interfaces.

Use it to build sortable lists, nested drop zones, dashboards, card transfers, and custom drag-and-drop workflows with TypeScript, SSR, and Nuxt support.

What this package helps with

  • Make a source item draggable with Drag
  • Make a target accept dropped items with Drop
  • Build reorderable lists with DropList (drag to reorder, or move between lists)
  • Ignore drops in specific zones using DropMask
  • Use useDrag, useDrop, and useDragAware when you need custom logic instead of a full component
  • Restrict what can be dropped using type/data rules (accepts-type and accepts-data)
  • Support copy/cut-style interactions and list events like reorder and insert
  • Customize the drag preview with drag-image

Install

npm install vue-easy-dnd@^3

Vue ^3.2.25 is required. The distributed JavaScript targets ES2022.

Quick example

<script setup>
import { Drag, Drop, useDragAware } from 'vue-easy-dnd'
import 'vue-easy-dnd/style.css'

const { dragInProgress } = useDragAware()

function handleDrop(event) {
  console.log('Dropped item:', event.data)
}
</script>

<template>
  <Drag type="task" :data="{ id: 1 }">
    <div>Drag this item</div>
  </Drag>

  <Drop accepts-type="task" @drop="handleDrop">
    Drop zone
  </Drop>

  <p v-if="dragInProgress">Drag in progress</p>
</template>

For examples like dashboards, nested zones, and full list workflows, use the linked docs and demos.

Docs and examples

View Documentation

Related Packages

drag-droppable

Lightweight, data-driven, framework-independent drag-and-drop system with touch...

261 0
awe-dnd

makes your elements draggable in Vue

52,678 752
vue3-drag-drop

Lightweight, zero-dependency Vue 3 drag and drop library using native HTML5 Drag...

44,897 12
comins-sortable

Zero-dependency drag-and-drop sorting for Vanilla JavaScript, React, Vue, and Sv...

599 1
vue3-dnd

Drag and Drop for Vue Composition API

222,491 712

Version History

Version Released License
3.0.0 MIT
2.2.2 MIT
2.2.1 MIT
2.2.0 MIT
2.1.3 MIT
Pre-releases (4)
Version Released License
2.0.0-beta.4 MIT
2.0.0-beta.3 MIT
2.0.0-beta.2 MIT
2.0.0-beta.1 MIT