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代码
Apr 01 Javascript
解析jquery获取父窗口的元素
Jun 26 Javascript
在JS中如何调用JSP中的变量
Jan 22 Javascript
Javascript中的方法链(Method Chaining)介绍
Mar 15 Javascript
js中javascript:void(0) 真正含义
Nov 05 Javascript
浅谈AngularJs指令之scope属性详解
Oct 24 Javascript
JS设置CSS样式的方式汇总
Jan 21 Javascript
angularjs中的$eval方法详解
Apr 24 Javascript
vue视频播放暂停代码
Nov 08 Javascript
jQuery实现简单聊天室
Feb 08 jQuery
小程序富文本提取图片可放大缩小
May 26 Javascript
uni-app实现获取验证码倒计时功能
Nov 01 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 过滤危险html代码
2009/06/29 PHP
PHP Session机制简介及用法
2014/08/19 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
JS.findElementById()使用介绍
2013/09/21 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
mac下如何将python2.7改为python3
2018/07/13 Python
python查看模块安装位置的方法
2018/10/16 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
Python如何读取、写入CSV数据
2020/07/28 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
房地产还款计划书
2014/01/10 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书