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 相关文章推荐
struts2 jquery 打造无限层次的树
Oct 23 Javascript
jQuery动态添加、删除元素的方法
Jan 09 Javascript
javascript页面加载完执行事件代码
Feb 11 Javascript
jquery通过closest选择器修改上级元素的方法
Mar 17 Javascript
JQuery中ajax方法访问web服务实例
Jul 18 Javascript
js滑动提示效果代码分享
Mar 10 Javascript
js控制li的隐藏和显示实例代码
Oct 15 Javascript
微信小程序开发教程-手势解锁实例
Jan 06 Javascript
javascript九宫格图片随机打乱位置的实现方法
Mar 15 Javascript
深入理解react-router 路由的实现原理
Sep 26 Javascript
JS实现随机生成10个手机号的方法示例
Dec 07 Javascript
Element-UI中关于table表格的那些骚操作(小结)
Aug 15 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
IIS6的PHP最佳配置方法
2007/03/19 PHP
php采集速度探究总结(原创)
2008/04/18 PHP
很好用的PHP数据库类
2009/05/27 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
javascript hashtable实现代码
2009/10/13 Javascript
js 学习笔记(三)
2009/12/29 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
2013/11/22 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python中对list去重的多种方法
2014/09/18 Python
python中input()与raw_input()的区别分析
2016/02/27 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
python制作抽奖程序代码详解
2021/01/15 Python
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
企业优秀员工事迹材料
2014/05/28 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
英文投诉信格式
2015/07/03 职场文书
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技