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的prototype使用注意事项
Nov 17 Javascript
Bootstrap每天必学之简单入门
Nov 19 Javascript
AngualrJS中的Directive制作一个菜单
Jan 26 Javascript
简单讲解jQuery中的子元素过滤选择器
Apr 18 Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 Javascript
JS SetInterval 代码实现页面轮询
Aug 11 Javascript
javascript 日期相减-在线教程(附代码)
Aug 17 Javascript
js判断文件类型大小并给出提示的实现方法
Jan 03 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
Dec 13 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
JS+CSS实现随机点名(实例代码)
Nov 04 Javascript
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
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计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
js event事件的传递与冒泡处理
2009/12/06 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
详解基于webpack和vue.js搭建开发环境
2017/04/05 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
vue实现购物车小案例
2019/09/27 Javascript
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
pandas数值计算与排序方法
2018/04/12 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
实用自动化运维Python脚本分享
2018/06/04 Python
python3 pathlib库Path类方法总结
2019/12/26 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
英国顶尖手表珠宝品牌独家授权经销商:HS Johnson
2020/10/28 全球购物
金士达面试非笔试
2012/03/14 面试题
农药学硕士毕业生自荐信
2013/09/25 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
小学亲子活动总结
2014/07/01 职场文书
公司新人试用期自我评价
2014/09/17 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
Nginx配置https的实现
2021/11/27 Servers