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 相关文章推荐
jQuery EasyUI API 中文文档 - Tree树使用介绍
Nov 19 Javascript
javascript:文字不间断向左移动的实例代码
Aug 08 Javascript
javascript常用代码段搜集
Dec 04 Javascript
DOM操作一些常用的属性汇总
Mar 13 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
Jul 02 Javascript
使用Node.js处理前端代码文件的编码问题
Feb 16 Javascript
javascript冒泡排序小结
Apr 10 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
Aug 10 Javascript
jquery横向纵向鼠标滚轮全屏切换
Feb 27 Javascript
javascript cookie的基本操作(添加和删除)
Jul 24 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
Sep 13 Javascript
JavaScript链式调用原理与实现方法详解
May 16 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中计算程序运行时间的类代码
2012/11/03 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
js模拟点击事件实现代码
2012/11/06 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
Three.js学习之网格
2016/08/10 Javascript
js实现五星评价功能
2017/03/08 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
python简单区块链模拟详解
2019/07/03 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
使用Python实现牛顿法求极值
2020/02/10 Python
python 实现逻辑回归
2020/12/30 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
思想汇报范文
2013/11/04 职场文书
家长学校实施方案
2014/03/15 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
党员个人总结范文
2015/02/14 职场文书
2015年班组工作总结
2015/04/20 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers