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 相关文章推荐
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
Nov 23 Javascript
基于jquery的获取mouse坐标插件的实现代码
Apr 01 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
Dec 03 Javascript
html的DOM中Event对象onblur事件用法实例
Jan 21 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
第四章之BootStrap表单与图片
Apr 25 Javascript
使用BootStrapValidator完成前端输入验证
Sep 28 Javascript
微信小程序中button组件的边框设置的实例详解
Sep 27 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
Apr 25 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
Oct 09 Javascript
vue移动端使用canvas签名的实现
Jan 15 Javascript
JS this关键字在ajax中使用出现问题解决方案
Jul 17 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
咖啡产品发展的三大浪潮
2021/03/04 咖啡文化
php中关于普通表单多文件上传的处理方法
2011/03/25 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
session 加入redis的实现代码
2016/07/15 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
vue实现todolist单页面应用
2017/04/11 Javascript
bootstrap table表格使用方法详解
2017/04/26 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
解决vue路由后界面没有变化,但是链接有的问题
2018/09/01 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
Python交换变量
2008/09/06 Python
跟老齐学Python之有点简约的元组
2014/09/24 Python
Python字符编码判断方法分析
2016/07/01 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
python计算列表内各元素的个数实例
2018/06/29 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
人力资源作业细则
2014/03/03 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
2014年教研工作总结
2014/12/06 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
草房子读书笔记
2015/06/29 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers