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中判断数字\字母\中文的正则表达式 (实例)
Jun 29 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
jquery特效 点击展示与隐藏全文
Dec 09 Javascript
js仿百度登录页实现拖动窗口效果
Mar 11 Javascript
jquery插件Jplayer使用方法简析
Apr 22 Javascript
javascript淘宝主图放大镜功能
Oct 20 Javascript
bootstrap fileinput 插件使用项目总结(经验)
Feb 22 Javascript
使用layer.msg 时间设置不起作用的解决方法
Sep 12 Javascript
vue中使用vue-print.js实现多页打印
Mar 05 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 Javascript
js实现3D旋转效果
Aug 18 Javascript
JS前端轻量fabric.js系列物体基类
Aug 05 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魔术函数__call()用法实例分析
2015/02/13 PHP
php查询内存信息操作示例
2019/05/09 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
JavaScript中this详解
2015/09/01 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
React实现轮播效果
2020/08/25 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
Python打包可执行文件的方法详解
2016/09/19 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
python 读取.nii格式图像实例
2020/07/01 Python
Python通过format函数格式化显示值
2020/10/17 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
大学生的四年学习自我评价
2013/12/13 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
卖房协议书
2014/04/11 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL