vue-easy-dnd
| 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 |
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, anduseDragAwarewhen you need custom logic instead of a full component - Restrict what can be dropped using type/data rules (
accepts-typeandaccepts-data) - Support copy/cut-style interactions and list events like
reorderandinsert - 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
Lightweight, data-driven, framework-independent drag-and-drop system with touch...
Lightweight, zero-dependency Vue 3 drag and drop library using native HTML5 Drag...
Zero-dependency drag-and-drop sorting for Vanilla JavaScript, React, Vue, and Sv...
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 | |
| 2.1.2 | MIT | |
| 2.1.1 | MIT | |
| 2.1.0 | MIT | |
| 2.0.4 | MIT | |
| 2.0.3 | MIT | |
| 2.0.2 | MIT | |
| 2.0.1 | MIT | |
| 2.0.0 | MIT | |
| 1.22.0 | MIT | |
| 1.21.0 | MIT | |
| 1.19.0 | MIT | |
| 1.18.0 | MIT | |
| 1.17.0 | MIT | |
| 1.16.1 | MIT | |
| 1.16.0 | MIT | |
| 1.15.0 | MIT | |
| 1.14.0 | MIT | |
| 1.13.0 | MIT | |
| 1.12.2 | MIT | |
| 1.12.1 | MIT | |
| 1.12.0 | MIT | |
| 1.11.0 | MIT | |
| 1.10.2 | MIT | |
| 1.10.1 | MIT | |
| 1.10.0 | MIT |
Showing the latest 30 of 83. See every release on npm
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 |