A universal drag-and-drop component for Vue 3 and Vue 2, built on Sortablejs with flexible usage options.
vue-draggable-plus is a drag-and-drop sorting library for Vue.js applications. It provides a modern, well-maintained wrapper around Sortablejs, enabling developers to easily implement sortable lists and interfaces. It solves the problem of outdated or poorly maintained Vue 3 integrations for drag-and-drop functionality.
Vue.js developers (using Vue 3 or Vue 2.7+) who need to implement drag-and-drop list sorting, reordering, or interactive interfaces in their applications.
Developers choose vue-draggable-plus because it offers a clean, flexible, and up-to-date API with multiple usage patterns (component, composable, directive), full TypeScript support, and seamless integration with Vue's reactivity system, unlike the abandoned official Vue 3 component for Sortablejs.
Universal Drag-and-Drop Component Supporting both Vue 3 and Vue 2
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works with both Vue 3 and Vue 2.7+, ensuring compatibility across modern Vue projects, as stated in the README.
Offers component, composable (useDraggable), and directive (v-draggable) usage, providing flexibility for different development styles, demonstrated in the examples.
Allows drag lists on any element via selectors, solving integration issues with component libraries that lack specific slots, as highlighted in the pain points section.
Inherits all configuration options and events from Sortablejs, giving access to a robust, battle-tested drag-and-drop library with comprehensive TypeScript support.
Tightly coupled to Sortablejs, so any bugs, performance issues, or breaking changes in Sortablejs directly affect this library and require updates.
Exposes the entire Sortablejs API with numerous options, which can be overwhelming for simple drag tasks and requires learning Sortablejs alongside Vue.
Adds Sortablejs as a dependency, increasing the overall bundle size, which might be a concern for performance-sensitive or lightweight applications.