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 相关文章推荐
JS实现页面超时后自动跳转到登陆页面
Jan 19 Javascript
js添加千分位的实现代码(超简单)
Aug 01 Javascript
jQuery实现遮罩层登录对话框
Dec 29 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
Jun 13 Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 Javascript
VUE axios上传图片到七牛的实例代码
Jul 28 Javascript
浅谈在Vue-cli里基于axios封装复用请求
Nov 06 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
再谈Angular4 脏值检测(性能优化)
Apr 23 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
Nov 22 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
Jul 10 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
Dec 04 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
解析thinkphp中的导入文件标签
2013/06/20 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
JSON 学习之完全手册 图文
2007/05/29 Javascript
js 浮动层菜单收藏
2009/01/16 Javascript
JS中==与===操作符的比较
2009/03/21 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
Python中index()和seek()的用法(详解)
2017/04/27 Python
python递归全排列实现方法
2018/08/18 Python
在python中实现对list求和及求积
2018/11/14 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
Python中格式化字符串的四种实现
2020/05/26 Python
结束运行python的方法
2020/06/16 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
Python设计密码强度校验程序
2020/07/30 Python
亿企通软件测试面试题
2012/04/10 面试题
中文系学生自荐信范文
2013/11/13 职场文书
认购协议书范本
2014/04/22 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
安全第一课观后感
2015/06/18 职场文书
农村老人去世追悼词
2015/06/23 职场文书
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python