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 相关文章推荐
js动态创建、删除表格示例代码
Aug 07 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
Apr 02 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
jQuery菜单插件用法实例
Jul 25 Javascript
ES6入门教程之Class和Module详解
May 17 Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 Javascript
实例详解BootStrap的动态模态框及静态模态框
Aug 13 Javascript
JavaScript的级联函数用法简单示例【链式调用】
Mar 26 Javascript
vue实现数字动态翻牌的效果(开箱即用)
Dec 08 Javascript
js 解析 JSON 数据简单示例
Apr 21 Javascript
WebStorm中如何将自己的代码上传到github示例详解
Oct 28 Javascript
vue实现点击出现操作弹出框的示例
Nov 05 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数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
PHP中字符与字节的区别及字符串与字节转换示例
2016/10/15 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
强制设为首页代码
2006/06/19 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
JS学习之一个简易的日历控件
2010/03/24 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Python中顺序表的实现简单代码分享
2018/01/09 Python
python opencv之分水岭算法示例
2018/02/24 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
会计师职业生涯规划范文
2014/02/18 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
法律专业自荐信
2014/06/03 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
2019销售早会主持词
2019/06/27 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android