位置: IT常识 - 正文

vuedraggable的使用(vuedraggable官方文档)

编辑:rootadmin
vuedraggable的使用

推荐整理分享vuedraggable的使用(vuedraggable官方文档),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue drag,vuedraggable教程,vuedraggable参数配置,vuedraggable官方文档,vuedraggable原理,vuedraggable教程,vuedraggable原理,vue dragable,内容如对您有帮助,希望把文章链接给更多的朋友!

官网地址: https://www.npmjs.com/package/vuedraggable https://github.com/SortableJS/Vue.Draggable

效果:https://sortablejs.github.io/Vue.Draggable/#/custom-clone Draggable为基于Sortable.js的vue组件,用以实现拖拽功能。

一.安装

npm i -S vuedraggable

或者引入:

二.使用1.场景:单个列表内部简单的拖拽(不克隆)<template> <div class="twoPage"> <draggable :list="list" :disabled="!enabled" class="list-group" ghost-class="ghost" :move="checkMove" @start="dragging = true" @end="dragging = false"> <div class="list-group-item" v-for="element in list" :key="element.name"> {{ element.name }} </div> </draggable> </div></template><script>import draggable from "vuedraggable";export default { data() { return { enabled: true, list: [ { name: "1 - John", id: 0 }, { name: "2 - Joao", id: 1 }, { name: "3 - Jean", id: 2 } ], dragging: false }; }, components:{ draggable }, mounted() { }, methods: { checkMove: function(e) { window.console.log("Future index: " + e.draggedContext.futureIndex); } }};</script><style lang="less">.ghost { opacity: 0.5; background: #c8ebfb;}.list-group{ display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; width: 300px; .list-group-item{ cursor: move; position: relative; display: block; padding: 0.75rem 1.25rem; margin-bottom: -1px; background-color: #fff; border: 1px solid rgba(0,0,0,.125); }}</style>vuedraggable的使用(vuedraggable官方文档)

效果如下:

2.场景:两个列表间的拖拽(不克隆)

左边往右边拖拽,拖过来一个,左边就少一个,右边就会多一个

<template> <div class="twoPage"> <div class="el-row"> <div class="el-col" :span="12"> <h3>Draggable 1</h3> <draggable class="list-group" :list="list1" group="people" @change="log"> <div class="list-group-item" v-for="(element, index) in list1" :key="element.name" > {{ element.name }} {{ index }} </div> </draggable> </div> <div class="el-col" :span="12"> <h3>Draggable 2</h3> <draggable class="list-group" :list="list2" group="people" @change="log"> <div class="list-group-item" v-for="(element, index) in list2" :key="element.name" > {{ element.name }} {{ index }} </div> </draggable> </div> </div> </div></template><script>import draggable from "vuedraggable";export default { data() { return { list1: [ { name: "list1 - 1:John", id: 1 }, { name: "list1 - 2:Joao", id: 2 }, { name: "list1 - 3:Jean", id: 3 }, { name: "list1 - 4:Gerard", id: 4 } ], list2: [ { name: "list2 - 1:Juan", id: 5 }, { name: "list2 - 2:Edgard", id: 6 }, { name: "list2 - 3:Johnson", id: 7 } ] }; }, components:{ draggable }, mounted() { }, methods: { log: function(evt) { window.console.log(evt); } }};</script><style lang="less">.ghost { opacity: 0.5; background: #c8ebfb;}.list-group{ display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; width: 300px; .list-group-item{ cursor: move; position: relative; display: block; padding: 0.75rem 1.25rem; margin-bottom: -1px; background-color: #fff; border: 1px solid rgba(0,0,0,.125); }}</style>

options配置项, sort:false 表示拖动时禁止其进行排序操作 group: {name: ‘field’, pull: ‘clone’, put: false} 表示进行克隆拖动操作,并且该name和拖动的目标位置group名称一致,如右侧draggable标签的group同样为field draggable=“.item” 将可拖动属性下放到每一个按钮下

3.场景:两个列表间的拖拽(克隆)

效果:左边往右边拖拽,拖过来一个,左边不会少,但右边就会多一个,相当于复制。

代码场景2的区别在于: :group="{ name: 'people', pull: 'clone', put: false }":表示可拖拽克隆出去,但不接收外面拖拽过来的 group="people":简单的内部拖拽

<template> <div class="twoPage"> <div class="el-row"> <div class="el-col" :span="12"> <h3>Draggable 1</h3> <draggable class="list-group" :list="list1" :group="{ name: 'people', pull: 'clone', put: false }" @change="log"> <div class="list-group-item" v-for="(element, index) in list1" :key="element.name" > {{ element.name }} {{ index }} </div> </draggable> </div> <div class="el-col" :span="12"> <h3>Draggable 2</h3> <draggable class="list-group" :list="list2" group="people" @change="log"> <div class="list-group-item" v-for="(element, index) in list2" :key="element.name" > {{ element.name }} {{ index }} </div> </draggable> </div> </div> </div></template><script>import draggable from "vuedraggable";export default { data() { return { list1: [ { name: "list1 - 1:John", id: 1 }, { name: "list1 - 2:Joao", id: 2 }, { name: "list1 - 3:Jean", id: 3 }, { name: "list1 - 4:Gerard", id: 4 } ], list2: [ { name: "list2 - 1:Juan", id: 5 }, { name: "list2 - 2:Edgard", id: 6 }, { name: "list2 - 3:Johnson", id: 7 } ] }; }, components:{ draggable }, mounted() { }, methods: { log: function(evt) { window.console.log(evt); } }};</script><style lang="less">.ghost { opacity: 0.5; background: #c8ebfb;}.list-group{ display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; width: 300px; .list-group-item{ cursor: move; position: relative; display: block; padding: 0.75rem 1.25rem; margin-bottom: -1px; background-color: #fff; border: 1px solid rgba(0,0,0,.125); }}</style>

效果和场景2一样

4.场景:两个列表间的拖拽-自定义克隆(克隆)

:clone="cloneDog" 这个方法自定义克隆

<template> <div class="twoPage"> <div class="el-row"> <div class="el-col" :span="12"> <h3>Draggable 1</h3> <draggable class="list-group" :list="list1" :group="{ name: 'people', pull: 'clone', put: true }" @change="log" :clone="cloneDog"> <div class="list-group-item" v-for="(element, index) in list1" :key="element.name" > {{ element.name }} {{ index }} </div> </draggable> </div> <div class="el-col" :span="12"> <h3>Draggable 2</h3> <draggable class="list-group" :list="list2" :group="{ name: 'people', pull: 'clone', put: true }" @change="log"> <div class="list-group-item" v-for="(element, index) in list2" :key="element.name" > {{ element.name }} {{ index }} </div> </draggable> </div> </div> </div></template><script>import draggable from "vuedraggable";export default { data() { return { list1: [ { name: "list1 - 1:John", id: 1 }, { name: "list1 - 2:Joao", id: 2 }, { name: "list1 - 3:Jean", id: 3 }, { name: "list1 - 4:Gerard", id: 4 } ], list2: [ { name: "list2 - 1:Juan", id: 5 }, { name: "list2 - 2:Edgard", id: 6 }, { name: "list2 - 3:Johnson", id: 7 } ] }; }, components:{ draggable }, mounted() { }, methods: { log: function(evt) { window.console.log(evt); }, cloneDog({ id }) { return { id: 8, name: 'cat' }; } }};</script><style lang="less">.ghost { opacity: 0.5; background: #c8ebfb;}.list-group{ display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; width: 300px; .list-group-item{ cursor: move; position: relative; display: block; padding: 0.75rem 1.25rem; margin-bottom: -1px; background-color: #fff; border: 1px solid rgba(0,0,0,.125); }}</style>
本文链接地址:https://www.jiuchutong.com/zhishi/294488.html 转载请保留说明!

上一篇:合宙AIR32F103CBT6刷回CMSIS-DAP固件和DAP升级固件以及刷ST-LINK V2-1固件方法(合宙air32f103 stlink)

下一篇:CVPR2023(cvpr2023最佳论文)

  • 微信拍一拍如何设置文字(微信拍一拍如何改内容)

    微信拍一拍如何设置文字(微信拍一拍如何改内容)

  • qq越来越大怎么清理(qq为啥越来越大)

    qq越来越大怎么清理(qq为啥越来越大)

  • 荣耀20听筒声音小(荣耀听筒声音小解决方法)

    荣耀20听筒声音小(荣耀听筒声音小解决方法)

  • 电脑屏保时间怎么设置(电脑屏保时间怎么调长一点)

    电脑屏保时间怎么设置(电脑屏保时间怎么调长一点)

  • 钉钉退出企业后考勤还在么(钉钉退出企业后群还在吗)

    钉钉退出企业后考勤还在么(钉钉退出企业后群还在吗)

  • 小米手环4触摸键失灵(小米手环4触摸不灵敏)

    小米手环4触摸键失灵(小米手环4触摸不灵敏)

  • 计算机病毒平时潜伏在什么里面(计算机病毒平时潜在)

    计算机病毒平时潜伏在什么里面(计算机病毒平时潜在)

  • wps/reset按了一下家里没网了(wpsreset按了一下)

    wps/reset按了一下家里没网了(wpsreset按了一下)

  • 在快手上怎样进入别人的群(在快手上怎样进行实名认证)

    在快手上怎样进入别人的群(在快手上怎样进行实名认证)

  • 蓝牙耳机卡顿怎么回事(蓝牙耳机太卡怎么办)

    蓝牙耳机卡顿怎么回事(蓝牙耳机太卡怎么办)

  • 快手显示用户id匹配什么意思(快手显示用户存在违规,消息不可见,是什么意思?)

    快手显示用户id匹配什么意思(快手显示用户存在违规,消息不可见,是什么意思?)

  • win7高性能模式怎么开(win7高性能模式优缺点)

    win7高性能模式怎么开(win7高性能模式优缺点)

  • 以太网工作在osi哪一层(以太网工作在OSI参考模型的数据链路层上)

    以太网工作在osi哪一层(以太网工作在OSI参考模型的数据链路层上)

  • 华为usb连接方式为什么一直是反向充电(华为usb连接方式一直显示反向充电怎么调换到文件接收)

    华为usb连接方式为什么一直是反向充电(华为usb连接方式一直显示反向充电怎么调换到文件接收)

  • 10英寸屏幕有多大(10英寸屏幕多大长宽)

    10英寸屏幕有多大(10英寸屏幕多大长宽)

  • 电脑异响的原因(电脑内异响)

    电脑异响的原因(电脑内异响)

  • 陌陌主播在哪播放歌曲(陌陌直播在哪)

    陌陌主播在哪播放歌曲(陌陌直播在哪)

  • 抖音为什么突然间闪退(抖音为什么突然下线了)

    抖音为什么突然间闪退(抖音为什么突然下线了)

  • qq群名片怎么粘贴不了(qq群名片怎么粘贴文字)

    qq群名片怎么粘贴不了(qq群名片怎么粘贴文字)

  • 华为推拉屏手机是哪款(华为拉伸屏手机)

    华为推拉屏手机是哪款(华为拉伸屏手机)

  • 迅雷为什么没有ios版本(迅雷为什么没有修改搜索引擎)

    迅雷为什么没有ios版本(迅雷为什么没有修改搜索引擎)

  • 小屏智能手机(小屏智能手机有哪些)

    小屏智能手机(小屏智能手机有哪些)

  • 苹果xs屏幕录制在哪里(苹果xs屏幕录制功能在哪里)

    苹果xs屏幕录制在哪里(苹果xs屏幕录制功能在哪里)

  • 小米9出厂有自带贴膜吗(小米9出厂带膜吗)

    小米9出厂有自带贴膜吗(小米9出厂带膜吗)

  • 如何解决Win10更新显卡驱动报错?(win10更新windows)

    如何解决Win10更新显卡驱动报错?(win10更新windows)

  • linux系统怎么设置终端透明?(Linux系统怎么设置常亮)

    linux系统怎么设置终端透明?(Linux系统怎么设置常亮)

  • 不得从销项税中抵扣的进项税大白话
  • 减免税款的会计分录在什么时候处理
  • 赠与税是什么税种
  • 动迁补偿款怎么算
  • 增值税发票抵扣是什么意思
  • 开票系统怎么切换到数字账户
  • 事假工资在税前扣除标准
  • 企业工商注销啥意思
  • 什么叫税控盘清卡
  • 如何核算小企业收入
  • 委托收款税务认可吗
  • 房租费没有发票怎么做账务处理
  • 期末应交企业所得税怎么算
  • 委托收款背书和转让背书
  • 小规模纳税人红字发票申报的时候怎么填
  • 开的是全额发票但是有分包如何做账务处理?
  • 现金存款账户
  • 营改增各项业务销售额按照什么确定
  • 企业交的房产税在哪打印税单
  • 境外代扣代缴的税最后归谁所有
  • 财务软件服务费属于什么费用
  • 纳税信用b
  • 企业的不征税收入用于支出所形成
  • 转让股权凭证怎么写
  • 政府奖励如何记账
  • 企业注销时资本公积怎么处理
  • 代理报关费0税率
  • 个人所得税租房和房贷只能二选一吗
  • 百货商场会计账怎么做
  • 银行初级证书全称
  • 以太网没有internet
  • 怎么扣除税费
  • 以前年度损益调整属于哪类科目
  • 库存现金日记账的登记依据
  • 潜水时看到的鱼
  • 自查补缴增值税如何申报
  • 减免税费是几级科目
  • 远程调试时,gdbserver运行在调试机
  • 扶贫资金入股问题
  • 税控盘全额抵扣政策
  • 货代一般一个柜利润多少
  • 电子发票开出后如何查看
  • 所得税做账是否需要发票
  • 生产成本设置二级科目
  • 外购存货的初始成本由买价加采购费用构成
  • 发票上盖成财务章了怎么办
  • 个税申报中本人扣除比例什么意思
  • 营业税金及附加计入什么科目
  • 国债利息收入要征税吗
  • 营业执照注销对商标有影响吗?
  • 公司为职工提供免费午餐需要交纳个人所得税吗?
  • 哪些合同必须签订书面合同
  • 退付现金什么意思
  • 社保退回的款怎么入账
  • 外地预缴税款流程
  • 以前年度的固定资产入成原材料了怎么办
  • 资产减值损失是负的意味着什么
  • 如何理解什么是半殖民地半封建社会
  • 被代持股份的股东需要负责吗
  • 无形资产及其他资产包括哪些科目
  • 税务局三代手续费是什么
  • wibdows任务管理器
  • 根据显示的图的照片吊坠
  • win10安全问题
  • JavaScript数组添加元素
  • [置顶]马粥街残酷史
  • cmd网络管理命令的功能和用法
  • dos命令可以做什么
  • 用javascript
  • 安卓开发者有多少
  • jquery 刷新div
  • 短信发送器
  • jquery鼠标移入移出切换图片
  • android的动画有哪些?
  • 绿牌电动车需要什么条件
  • 2022年安徽城镇非私营单位平均工资
  • 一般纳税人沙石税率是多少
  • 湖北省电子税务局操作指南
  • 中小微企业包括一般纳税人吗
  • 2o21年公租房
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设