vue.draggable实现表格拖拽排序效果


Posted in Javascript onDecember 01, 2018

本文实例为大家分享了vue.draggable实现表格拖拽排序效果展示的具体代码,供大家参考,具体内容如下

主要使用vuedraggable和sortablejs两个组件。

1、安装组件

npm install vuedraggable
npm install sortablejs

2、引入组件

import draggable from 'vuedraggable';
import Sortable from 'sortablejs';

export default {
  components: {
    draggable,
    Sortable
  },
  ....

3、HTML

我的例子是给表格排序,项目整体使用的是ivew,所以用了ivew的栅格来画表格

<Row class="draggableTable-head">
  <Col span="1">序号</Col>
  <Col span="2">商品条码</Col>
  <Col span="3">商品名称</Col>
  <Col span="1">单位</Col>
</Row>
<draggable class="list-group" v-model="tableData" :options="{draggable:'.rows'}"
  :move="getdata" @update="datadragEnd">
  <Row class="rows" v-for="(item,index) in tableData" :key="index">
    <Col span="1">
      <div class="cell">{{index+1}}</div>
    </Col>
    <Col span="2">
      <div class="cell">{{item.barCode}}</div>
    </Col>
    <Col span="2">
      <div class="cell">{{item.name}}</div>
    </Col>
    <Col span="2">
      <div class="cell">{{item.unit}}</div>
    </Col>
  </Row>
</draggable>

options中draggable的值是拖动的class。一开始怎么都不能拖动,加上这个就可以了。

4、两个方法

move:拖动中
update:拖拽结束

getdata (data) {
  // console.log('getdata方法');
},
datadragEnd (evt) {
  // console.log('datadragEnd方法');
  console.log('拖动前的索引 :' + evt.oldIndex)
  console.log('拖动后的索引 :' + evt.newIndex)
}

表格的处理逻辑是:
1、当前行的id和排序号作为参数,调用后台更改顺序的方法
2、不论调用成功与否,都重新渲染表格数据

【注意】如果有分页,那么传给后台的排序号就要再加上之前的条数,即(页码-1)*每页条数

Vue.Draggable作者的git地址

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

Javascript 相关文章推荐
JavaScript DOM 添加事件
Feb 14 Javascript
一个关于javascript匿名函数的问题分析
Mar 30 Javascript
javascript操作css属性
Dec 30 Javascript
JavaScript中的全局对象介绍
Jan 01 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 Javascript
任意Json转成无序列表的方法示例
Dec 09 Javascript
高性能的javascript之加载顺序与执行原理篇
Jan 14 Javascript
nginx+vue.js实现前后端分离的示例代码
Feb 12 Javascript
mpvue跳转页面及注意事项
Aug 03 Javascript
Vue项目实现换肤功能的一种方案分析
Aug 28 Javascript
webpack打包html里面img后src为“[object Module]”问题
Dec 22 Javascript
JS实现拖动模糊框特效
Aug 25 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
Jul 29 #Javascript
Vue组件Draggable实现拖拽功能
Dec 01 #Javascript
BootStrap modal实现拖拽功能
Dec 01 #Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
Aug 21 #Javascript
BootStrap table实现表格行拖拽效果
Dec 01 #Javascript
一次Webpack配置文件的分离实战记录
Nov 30 #Javascript
基于Vue组件化的日期联动选择器功能的实现代码
Nov 30 #Javascript
You might like
PHP 采集程序 常用函数
2008/12/18 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
原生JS取代一些JQuery方法的简单实现
2016/09/20 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
Vue axios 跨域请求无法带上cookie的解决
2020/09/08 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Python中自定义函数的教程
2015/04/27 Python
Python中import机制详解
2017/11/14 Python
使用python3实现操作串口详解
2019/01/01 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
python实现扫雷游戏
2020/03/03 Python
经典公益广告词
2014/03/13 职场文书
2014年酒店前台工作总结
2014/11/14 职场文书
公司员工体检通知
2015/04/21 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
新手初学Java List 接口
2021/07/07 Java/Android
浅析python中特殊文件和特殊函数
2022/02/24 Python