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与框架页的操作代码
Jan 17 Javascript
JS教程:window.location使用方法的区别介绍
Oct 04 Javascript
js实现文本框中焦点在最后位置
Mar 04 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
Aug 31 Javascript
详解JavaScript正则表达式之RegExp对象
Dec 13 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
Apr 28 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
Sep 24 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
Jan 19 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
Jul 17 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
Sep 04 Javascript
基于JavaScript实现随机点名器
Feb 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
PHP中常用数组处理方法实例分析
2008/08/30 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
纯JS实现轮播图
2017/02/22 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
python中Switch/Case实现的示例代码
2017/11/09 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
python Gabor滤波器讲解
2020/10/26 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
营销与策划应届生求职信
2013/11/04 职场文书
银行出纳岗位职责
2013/11/25 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
教师师德考核自我评价
2014/09/13 职场文书
商务信函英语问候语
2015/11/10 职场文书
中学语文教学反思
2016/02/16 职场文书
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers