Elementui表格组件+sortablejs实现行拖拽排序的示例代码


Posted in Javascript onAugust 28, 2019

前言

运营小姐姐说想要可以直接拖拽排序的功能,原来在序号六的广告可能会因为金主爸爸加钱换到序号一的位置,拖拽操作就很方便

效果

Elementui表格组件+sortablejs实现行拖拽排序的示例代码

实现方式

template部分

<el-table
 v-loading="loading"
 :default-sort="{prop: 'sortNum', order: 'ascending'}"
 :data="list"
 border
 align="left"
>
 <el-table-column
  show-overflow-tooltip
  v-for="(item, index) in col"
  :key="`col_${index}`"
  :prop="col[index].prop"
  :label="item.label"
 >
  <template slot-scope="scope">
   <p>{{scope.row[item.prop]}}</p> 
  </template>
 </el-table-column>
</el-table>

script部分

import Sortable from 'sortablejs'
export default {
 components: {
 Sortable
 },
 data() {
 return {
  col: [
  {
   label: '位置',
   prop: 'location'
  },
  {
   label: '序号',
   prop: 'sortNum'
  },
  {
   label: '经办人',
   prop: 'operator'
  },
  {
   label: '操作',
   prop: 'isClick'
  }
  ]
 }
 },
 mounted() {
 this.rowDrop()
 },
 methods: {
  rowDrop() {
  const tbody = document.querySelector('.el-table__body-wrapper tbody')
  const _this = this
  Sortable.create(tbody, {
   onEnd({ newIndex, oldIndex }) {
    const currRow = _this.list.splice(oldIndex, 1)[0]
    _this.list.splice(newIndex, 0, currRow)
    _this.list = _this.list.filter(({ adId }) => adId !== 0)
 
    _this.list.forEach((item, index) => {
     _this.sortString += item.adId + ':' + (index + 1) + ','
    })
    _this.sortString = _this.sortString.substr(0, _this.sortString.length - 1)
   }
  })
 }
 }
}

完成!你们可以看得懂的!你可以你能行!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Extjs Ajax 乱码问题解决方案
Apr 15 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
详解如何使用Vue2做服务端渲染
Mar 29 Javascript
微信小程序三级联动地址选择器的实例代码
Jul 12 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
微信小程序使用npm支持踩坑
Nov 07 Javascript
说说Vuex的getters属性的具体用法
Apr 15 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
Jun 07 Javascript
微信小程序如何访问公众号文章
Jul 08 Javascript
JS中async/await实现异步调用的方法
Aug 28 #Javascript
基于Node的Axure文件在线预览的实现代码
Aug 28 #Javascript
详解用async/await来处理异步
Aug 28 #Javascript
vue中监听返回键问题
Aug 28 #Javascript
微信小程序 拍照或从相册选取图片上传代码实例
Aug 28 #Javascript
小程序中this.setData的使用和注意事项
Aug 28 #Javascript
微信小程序 可搜索的地址选择实现详解
Aug 28 #Javascript
You might like
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
Python 详解基本语法_函数_返回值
2017/01/22 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python中装饰器高级用法详解
2017/12/25 Python
python实现文本界面网络聊天室
2018/12/12 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
python中matplotlib实现随鼠标滑动自动标注代码
2020/04/23 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
用python批量移动文件
2021/01/14 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
汉森批发:Hansen Wholesale
2018/05/24 全球购物
幼儿园家长寄语
2014/04/02 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
公司股东出资证明书
2014/11/01 职场文书
蓬莱阁导游词
2015/02/04 职场文书
2015年部门工作总结范文
2015/03/31 职场文书
故意伤害辩护词
2015/05/21 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
护理自荐信
2019/05/14 职场文书
入党转正申请书范文
2019/05/20 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书