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获取用户本地图片路径并显示的代码
Feb 16 Javascript
javascript动态加载三
Aug 22 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
May 08 Javascript
移动节点的jquery代码
Jan 13 Javascript
JavaSacript中charCodeAt()方法的使用详解
Jun 05 Javascript
jquery插件bootstrapValidator表单验证详解
Dec 15 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
Feb 10 Javascript
了解ESlint和其相关操作小结
May 21 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
Jul 20 Javascript
jQuery插件实现图片轮播效果
Oct 19 jQuery
vue单元格多列合并的实现
Nov 26 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数组保存文本与文本反编成数组实例
2014/11/13 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
JavaScript效率调优经验
2009/06/04 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
在Django的模型中添加自定义方法的示例
2015/07/21 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
python抽取指定url页面的title方法
2018/05/11 Python
Python中的CSV文件使用&quot;with&quot;语句的方式详解
2018/10/16 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
python判断无向图环是否存在的示例
2019/11/22 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
偷看我的初中毕业鉴定
2014/01/29 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
综合实践活动总结
2014/05/05 职场文书
怎样写辞职信
2015/02/27 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
美丽人生观后感
2015/06/03 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书