Build reorderable to-do lists where dragging items updates the underlying data automatically.
Create Kanban boards with drag-and-drop between columns that sync with your app state.
Make shopping cart items draggable to reorder or move between wishlists.
Wrap UI library components (Vuetify, Element UI) to add drag-and-drop without rebuilding them.
Vue.Draggable is a drag-and-drop add-on for Vue.js, a popular framework for building interactive websites. Often you want users to grab an item with the mouse (or a finger on a touchscreen), drag it somewhere else, and have the order in your underlying data update to match, think reordering a to-do list, moving cards between columns, or rearranging menu items. This library gives you a draggable component that does exactly that, while keeping the HTML you see on screen and the JavaScript array behind it automatically in sync. It is a wrapper around Sortable.js, a well-known plain-JavaScript drag-and-drop library, so it inherits all of Sortable.js's features: touch device support, drag handles, smart auto-scrolling when the cursor reaches the edge of a container, dragging items between different lists, no dependency on jQuery, and the ability to cancel a drag mid-operation. The Vue wrapper adds Vue-specific niceties: it works with Vue's transition-group for animated reordering, it supports two-way binding through v-model so dragging updates your data directly, it works with Vuex (Vue's state-management library) via computed get/set, and it lets you wrap existing UI library components such as Vuetify, Element, or Vue Material so their items become draggable. You install it from npm or yarn as the vuedraggable package, or pull it from a CDN with a script tag alongside Vue and Sortable. Inside a template you use a draggable element, bind your array with v-model, and write your normal v-for inside, the component takes care of the rest. All Sortable.js options (group, handle, ghost-class, sort and so on) can be passed as props since version 2.19, and there are header and footer slots for content that should not be draggable. Important versioning note from the README: this package is for Vue.js 2.0, a separate project, vue.draggable.next, exists for Vue 3.
← sortablejs on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.