• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > vue2.0使用Sortable.js实现的拖拽功能示例

vue2.0使用Sortable.js实现的拖拽功能示例

作者:孟然 字体:[增加 减小] 来源:互联网 时间:2017-05-11

孟然通过本文主要向大家介绍了vue2.0,vue2.0中文文档,vue2.0教程,vue2.0官网,vue2.0视频等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

简介

在使用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>
</div>

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;
}

</div>

js代码

require.config({
  urlArgs: "ver=1.0_0",
  
  paths:{
    "vue":'vue.min2',
    "sortablejs":'Sortable',
    "vuedraggable":'vuedraggable'  
  },
  shim:{
    'vue':{
      exports:'vue'
    } 
  }
}),

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);
        
      }
      
    }
  })
  
})
</div>

里面的可配置的很多细节请参考参考地址,这里不做详细介绍。

可下载案例地址:Vue.Draggable-case_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • vue2.0多条件搜索组件使用详解
  • Vue2.0表单校验组件vee-validate的使用详解
  • Vue开发中整合axios的文件整理
  • vue基于Vue2.0和高德地图的地图组件实例
  • 使用vue框架 Ajax获取数据列表并用BootStrap显示出来
  • vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
  • Vue form 表单提交+ajax异步请求+分页效果
  • 详解Vue.js 2.0 如何使用axios
  • Vue.js实现模拟微信朋友圈开发demo
  • 详解Vue2.0之去掉组件click事件的native修饰

相关文章

  • 2017-05-11详解JavaScript RegExp对象
  • 2017-05-11Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
  • 2017-05-11Vue + Webpack + Vue-loader学习教程之功能介绍篇
  • 2017-05-11高效的jQuery代码编写技巧总结
  • 2017-05-11js省市区级联查询(插件版&无插件版)
  • 2017-05-11详解javascript立即执行函数表达式IIFE
  • 2017-05-11jQuery输入框密码的显示隐藏【代码分享】
  • 2017-05-11vue2.0多条件搜索组件使用详解
  • 2017-05-11AngularJS学习第二篇 AngularJS依赖注入
  • 2017-05-11bootstrap table配置参数例子

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
    • 纯原生js实现贪吃蛇游戏
    • 浅谈js中startsWith 函数不能在任何浏览器兼容的问题
    • 详解angular用$sce服务来过滤HTML标签
    • Angularjs实现搜索关键字高亮显示效果
    • JavaScript表单验证的两种实现方法
    • js仿网易表单及时验证功能
    • 微信小程序 引入es6 promise
    • Angular的$http的ajax的请求操作(推荐)
    • JavaScript实现简单精致的图片左右无缝滚动效果

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有