vue.draggable实现表格拖拽排序效果
程序员文章站
2022-07-09 13:14:17
本文实例为大家分享了vue.draggable实现表格拖拽排序效果展示的具体代码,供大家参考,具体内容如下
主要使用vuedraggable和sortablejs两个组件...
本文实例为大家分享了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地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 射了
下一篇: Nginx日志统计分析的常用命令总结