https://vuejsexamples.com/tag/drag/

https://vuejsexamples.com/vue-draggable-plus-the-universal-drag-and-drop-solution-for-vue/

https://vuejsexamples.com/a-vue-component-for-making-elements-draggable/

https://github.com/Alfred-Skyblue/vue-draggable-plus

https://stackblitz.com/edit/github-b2xatc-qe8qxj?file=src%2FApp.vue

https://gitee.com/flfdnvfhp/vue-draggable-plus?_from=gitee_search

文档

https://alfred-skyblue.gitee.io/vue-draggable-plus/guide/

vue2

https://article.juejin.cn/post/7226385225580134455

https://gitee.com/zeng-yilei/vuedraggable?_from=gitee_search

https://blog.csdn.net/weixin_58099903/article/details/125655355



1、第一步 ,安装 vue.draggable 插件,yarn 或者 npm 都可以
npm install vuedraggable --save # vue2
npm install vuedraggable@next --save # vue3


"vuedraggable": "^2.43.3"
2、第二步 ,使用插件
import draggable from 'vuedraggable'

3、注册组件

components: { draggable }
{
    group: "name",  // 可以简单理解为只要group相同,就可以互相拖拽
    sort: true,  // 在列表内排序   
    delay: 0, // 定义排序应开始的时间(以毫秒为单位)  
    delayOnTouchOnly: false, // 只在用户使用触摸时延迟  
    touchStartThreshold: 0, // px,在取消延迟的拖动事件之前,点应移动的像素数   
    disabled: false,  // 如果设置为true,则禁用sortable。  
    store: null,  // @see Store   
    animation: 150,  // ms,移动项目时的动画速度排序,`0` - 无动画   
    easing: "cubic-bezier(1, 0, 0, 1)", // 动画缓动。默认为null。请参阅  示例。  
    handle: ".my-handle",  // 列表项内的拖动句柄选择器   
    filter: ".ignore-elements",  // 不导致拖动的选择器(字符串或函数)   
    preventOnFilter: true, // 触发时调用`filter` `event.preventDefault()`  
    draggable: ".item",  // 指定元素内哪些项目应可拖动    dataIdAttr: 'data-id', // `toArray()` 方法使用的HTML属性    ghostClass: "sortable-ghost",  // 拖放占位符的类名   
    chosenClass: "sortable-chosen",  // 选定项目的类名   
    dragClass: "sortable-drag",  // 拖动项目的类名     swapThreshold: 1, // 交换区域的阈值   
    invertSwap: false, // 如果设置为true,则始终使用反转的交换区域   
    invertedSwapThreshold: 1, // 反转的交换区域的阈值(默认情况下将设置为swapThreshold值)   
    direction: 'horizontal', // Sortable的方向(如果未给定,则会自动检测)     forceFallback: false,  // 忽略HTML5 DnD行为,强制回退   
    fallbackClass: "sortable-fallback",  // 使用forceFallback时克隆的DOM元素的类名   
    fallbackOnBody: false,  // 将克隆的DOM元素附加到文档正文   
    fallbackTolerance: 0, // 指定鼠标应移动的像素数,才被视为拖动。     dragoverBubble: false,   
    removeCloneOnHide: true, // 隐藏时删除克隆元素,而不仅仅是隐藏它   
    emptyInsertThreshold: 5, // px,鼠标离空sortable的距离,以将拖动元素插入其中
}
文档更新时间: 2024-04-05 07:27   作者:admin