vue2.0使用Sortable.js实现的拖拽功能
来源:互联网 发布:mac dns污染 编辑:程序博客网 时间:2024/05/29 07:47
简介
在使用vue1.x之前的版本的时候,页面中的拖拽功能,我在项目中是直接用的jQuery ui中的sortable.js,只是在拖拽完成后,在update的回调函数中又重新排序了存放数据的数组。但是当把vue升级到2.0以上后发现拖拽功能失效了,于是使用了下面代码。
该案例主要是在用于vuejs2.0中实现的拖拽功能,用到的的js有Sortable.js,vuedraggable.js,当然还有vue.min.js,提供的案例使用的require.js加载。
实现效果
实现后的效果如图所示:
html主要代码
<draggable :list="list2" :move="getdata" @update="datadragEnd" :options="{animation: 300,handle:'.dargDiv'}"> <transition-group name="list-complete" > <div v-for="element in list2" :key="element.it.name" class="list-complete-item"> <div class="styleclass dargDiv">{{element.id}}</div> <div class="styleclass">{{element.it.name}}</div> </div> </transition-group> </draggable>
css代码
body{ font-family:'微软雅黑'}[v-cloak]{ display:none;}#example{ width:1000px; margin:0 auto;}.list-complete-item { transition: all 1s; height:50px; line-height: 50px; background: #000; color:#fff; text-align: center; font-size:24px; margin-top:10px;}.styleclass{ width:100px; float:left;}.list-complete-enter, .list-complete-leave-active { opacity: 0; height: 0px; margin-top: 0px; padding: 0px; border: solid 0px;}.list-complete-sortable-chosen,.list-complete-sortable-ghost{ opacity: 0; height: 0px; margin-top: 0px; padding: 0px; border: solid 0px;}.dargDiv{ cursor:move; background:red;}.wrods{ margin-top:50px;}p{ line-height:24px; text-align:center;}
js代码
require(['vue','vuedraggable'],function(Vue,draggable){ Vue.component('draggable', draggable); new Vue({ el: '#example', data: { list2:[ {id:"id1",it:{name:'bbbb'}}, {id:"id2",it:{name:'2222'}}, {id:"id3",it:{name:'3333'}}, {id:"id4",it:{name:'4444'}} ] }, methods:{ getdata: function(evt){ console.log(evt.draggedContext.element.id); }, datadragEnd:function(evt){ console.log('拖动前的索引:'+evt.oldIndex); console.log('拖动后的索引:'+evt.newIndex); } } })})
里面的可配置的很多细节请参考参考地址,这里不做详细介绍。
可下载案例地址:https://github.com/hxlmqtily1…
参考地址:https://github.com/SortableJS…
阅读全文
0 0
- vue2.0使用Sortable.js实现的拖拽功能
- vue2.0使用Sortable.js实现的拖拽功能
- vuejs2.0使用Sortable.js实现的拖拽功能
- vuejs2.0使用Sortable.js实现的拖拽功能
- jqueryUI的sortable实现div拖拽排序
- 关于慕课网《使用vue2.0实现购物车和地址选配功能》的总结
- Sortable 拖拽插件 使用文档
- Vue2.0实现调用摄像头进行拍照功能以及图片上传功能引用exif.js
- jquery-ui的拖拽排序(sortable)
- vue2.0使用weui.js的uploader组件上传图片
- jquery sortable实现table拖拽排序,更新时只更新受影响的行
- Vue2.0实现调用摄像头进行拍照功能以及图片上传功能引用exif.js(2)
- 用jQuery.ui.sortable实现拖拽排序
- vue2.0 $refs的使用
- js实现控件的拖拽功能
- sortable图片拖拽插件
- 基于Vue2.0的外卖APP——后台功能实现(express框架)
- vue2.0实现引用qrcode.js实现获取改变二维码的样式
- Vue2.0组件通信(非Vuex)
- 欢迎使用CSDN-markdown编辑器
- 《Unix网络编程》读书笔记(一)
- 理一理思路喽,怎么收集信息呢
- c++primer plus字符库函数和条件运算符
- vue2.0使用Sortable.js实现的拖拽功能
- java基本数据类型
- LDD3源码分析之简单休眠
- Java的native方法
- virtualbox提示严重错误,“创建COM对象失败,应用程序将被中断!”怎么解决?
- vuejs2.0实现一个简单的分页
- 告诉你们!我是怎么与Linux系统触电的!
- 分享个根据数据库生成Model的工具,支持多种开发语言,多种数据库
- 版本控制系统VCS —— Git操作