文档地址:http://www.itxst.com/vue-draggable/tutorial.html

引入方式(npm):

npm i -S vuedraggable

简单使用:

<template><div><el-row><el-col :span="12" class="col"><span>A列</span><draggable v-model="list"chosenClass="chosen"group= "name"animation="300"filter=".forbid":move="onMove"><transition-group><div class="dragItem" :id="item.name" v-for="(item,index) in list" :key="item.name"><div>索引:{{index}}</div><div class="name">姓名:<span>{{item.name}}</span></div><div>年龄:{{item.age}}</div><div>工作:{{item.job}}</div></div></transition-group></draggable></el-col><el-col :span="12" class="col"><span>B列</span><draggable v-model="list2"chosenClass="chosen"group= "name"animation="300"><transition-group><div class="dragItem" v-for="(item,index) in list2" :key="item.name"><div>索引:{{index}}</div><div class="name">姓名:<span>{{item.name}}</span></div><div>年龄:{{item.age}}</div><div>工作:{{item.job}}</div></div></transition-group></draggable></el-col></el-row>  </div>
</template><script>
export default {components:{draggable:() => import("vuedraggable"),},data(){return{list:[{name:"tom",age:18,job:"coding1"},{name:"bob",age:19,job:"coding2"},{name:"jery",age:20,job:"coding3"},{name:"jim",age:21,job:"coding4"},],list2:[{name:"tom2",age:182,job:"coding12"},{name:"bob2",age:192,job:"coding22"},{name:"jery2",age:202,job:"coding32"},{name:"jim2",age:212,job:"coding42"},]}},methods:{//禁止拖动到id为1的对象onMove(e){ console.log(e);console.log(e.draggedContext.futureIndex);if(e.draggedContext.futureIndex <=1) return false;return true;},  }
}
</script><style lang="scss" scoped>
.col{&>div{min-height: 100px;border:14px solid purple;border-radius:4px;}
}
.dragItem{.name{font-weight: 600;span{color:red;}}border:1px solid blue;border-radius:4px;padding:4px;margin-bottom:8px;
}
</style>

效果:

上面是实现了分组拖拽,也可以组内拖拽,并且限制了不能拖拽到几号位

一些属性的说明,具体可以插卡安文档,文档精巧,还有例子,查看方便:

group :group= "name",相同的组之间可以相互拖拽
sort :sort= "true",是否开启内部排序,如果设置为false,它所在组无法排序,在其他组可以拖动排序
delay :delay= "0", 鼠标按下后多久可以拖拽
touchStartThreshold 鼠标移动多少px才能拖动元素
disabled :disabled= "true",是否启用拖拽组件
animation 拖动时的动画效果,还是很酷的,数字类型。如设置animation=1000表示1秒过渡动画效果
handle :handle=".mover" 只有当鼠标移动到css为mover类的元素上才能拖动
filter :filter=".unmover" 设置了unmover样式的元素不允许拖动
draggable :draggable=".item" 那些元素是可以被拖动的
ghostClass :ghostClass="ghostClass" 设置拖动元素的占位符类名,你的自定义样式可能需要加!important才能生效,并把forceFallback属性设置成true
chosenClass :ghostClass="hostClass" 被选中目标的样式,你的自定义样式可能需要加!important才能生效,并把forceFallback属性设置成true
dragClass :dragClass="dragClass"拖动元素的样式,你的自定义样式可能需要加!important才能生效,并把forceFallback属性设置成true
dataIdAttr dataIdAttr: 'data-id'
forceFallback 默认false,忽略HTML5的拖拽行为,因为h5里有个属性也是可以拖动,你要自定义ghostClass chosenClass dragClass样式时,建议forceFallback设置为true
fallbackClass 默认false,克隆的DOM元素的类名
allbackOnBody 默认false,克隆的元素添加到文档的body中
fallbackTolerance 拖拽之前应该移动的px
scroll 默认true,有滚动区域是否允许拖拽
scrollFn 滚动回调函数
scrollSensitivity 距离滚动区域多远时,滚动滚动条
scrollSpeed 滚动速度

vuedraggable拖拽插件使用相关推荐

  1. vue3TS+Jsplumb+vuedraggable拖拽插件使用记录

    安装拖拽插件 vue3需下载-@next此版本,否则会出现错误 npm i -S vuedraggable@next npm install sortablejs --save //拖拽组件依赖sor ...

  2. 【组件】前端js拖拽插件 VUE

    [组件]前端js拖拽插件 VUE Vue Draggable - Vue 拖拽组件王者 Vue drag resize - 轻量级,无依赖,可缩放 Vue smooth dnd - 简单动效,上下拖拽 ...

  3. sortable 拖拽时互换目标的位置_双端通用型JS拖拽插件的封装与应用

    最近工作中遇到一个需求,需要将一个元素从某位置拖动到另一固定位置后执行某一交互行为,具体效果如下: 这个看似简单的需求,然而实现起来却并不那么顺利.我首先想到的是如何通过哪个现有的插件来快速解决这个问 ...

  4. java se拖动插件_JQuery之拖拽插件

    Jeremy - DragDrop Test !(function($) { $.extend({//获取鼠标当前坐标mouseCoords:function(ev){if(ev.pageX||ev. ...

  5. 拖拽插件jquery.dad.js

    带删除功能: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  6. java se拖动插件_JQuery之拖拽插件实现代码

    而很多页面效果都要用到这些位置.不得已,得练练,得记记. 下面就来说说这个基于 JQuery的简易拖拽插件吧. 按惯例,先说说拖拽的原理,以及搞这么一个东东的步骤: 那什么是拖拽呢? 看名字就知道了: ...

  7. js 拖拽生成html,js拖拽插件 js 拖拽控件生成自定义表单 怎么实现

    想请教一个js的问题,拖拽控件 js 拖拽控件生成自定义表单 怎么实现 说说步骤吧 监听mousedown事件 - 获取鼠标点击元素,判断是否可拖拽 - 设置flag做标记 - 建一个tempDOM, ...

  8. Vue拖拽插件(vuedraggable)

    参考文档: vue.draggable disabled 开启和禁用拖动 - itxst.com 效果如下图: ① 安装插件:yarn add vuedraggable ②引入插件并使用: <t ...

  9. 类似360浏览器 拖拽插件_又一个好用的能上谷歌学术的插件,收藏吧。!

    前段时间,给大家安利了一个能上谷歌学术的插件: 大飞鸽软件助手:一个插件,让你轻松浏览谷歌学术,助力科研!​zhuanlan.zhihu.com 废话不多说,今天再次安利一个能够上谷歌学术的插件. 这 ...

最新文章

  1. 易语言组合框连接mysql_用mysql填充的多动态组合框
  2. Java NIO之Selector(选择器)
  3. 智能车竞赛接入工程训练竞赛相关事项-建议稿件
  4. 自学python 知乎-马哥教育官网-专业Linux培训班,Python培训机构
  5. java和python的web自动化有什么区别-Java 和 Python 有哪些区别?
  6. 2019年上海市数学建模讲座笔记(2)概率统计模型
  7. 【机器学习基础】数学推导+纯Python实现机器学习算法18:奇异值分解SVD
  8. break 与continue的区别
  9. B树 B+树 B*树
  10. 我的计算机用户账户logo,UserAccountControl
  11. 数据库导入导出的几种方式
  12. 原神可莉、七七、迪奥娜、早柚、宵宫...模型下载(带骨骼贴图)
  13. android系统平板输入法切换,安卓平板电脑怎么样切换输入法?
  14. 如何出一道计算机仿真题,计算机仿真试题
  15. 「TYVJ1017」冗余关系
  16. 嵌入式课后总结(3)
  17. Client can't access Jboss server, the port is not accessable.
  18. 知识图谱 01:知识图谱概述
  19. 90%的预测准确率覆盖30%的订单,滴滴出行“猜您要去”目的地预测系统是怎么做的?...
  20. 7-158 判断4和7的倍数

热门文章

  1. SUS系统可用性量表
  2. 北洋 Hokuyo 激光雷达 在ROS下的使用
  3. 判断一个整数是偶数还是奇数,并输出判断结果
  4. 六轴机器人光机_烂大街的六轴机器人
  5. php中文数组按拼音排序问题
  6. mysql讲事物写到数据库_CookBook/1-MySQL数据库读写锁示例详解、事务隔离级别示例详解.md at master · Byron4j/CookBook · GitHub...
  7. OpenCV2:特征匹配及其优化
  8. oracle dbms是什么意思,oracle的dbms_stats包详细解说
  9. leetcode 18. 四数之和 (C++)
  10. 不要高估自己的自制力