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 相关文章推荐
jQuery学习4 浏览器的事件模型
Feb 07 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
Sep 04 Javascript
让复选框只能选择一项的方法
Oct 08 Javascript
js控制input输入字符解析
Dec 27 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
学习Bootstrap组件之下拉菜单
Jul 28 Javascript
全面解析Bootstrap表单使用方法(表单控件)
Nov 24 Javascript
利用bootstrapValidator验证UEditor
Sep 14 Javascript
jQuery事件多次绑定与解绑问题实例分析
Feb 19 jQuery
taro开发微信小程序的实践
May 21 Javascript
Vue.js中v-bind指令的用法介绍
Mar 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生成带有雪花背景的验证码
2008/09/28 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
vue.js的安装方法
2017/05/12 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
jquery实现搜索框功能实例详解
2018/07/23 jQuery
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
Python 实现的 Google 批量翻译功能
2019/08/26 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
Joules官网:女士、男士和儿童服装和鞋类
2018/10/23 全球购物
最新远光软件笔试题面试题内容
2013/11/08 面试题
小学生自我鉴定
2013/10/12 职场文书
在校学生职业规划范文
2014/01/08 职场文书
三八妇女节活动主持词
2014/03/17 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
党员转正大会主持词
2015/07/02 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
python井字棋游戏实现人机对战
2022/04/28 Python
JS前端可扩展的低代码UI框架Sunmao使用详解
2022/07/23 Javascript