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传值 判断
Oct 26 Javascript
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
Apr 20 Javascript
用jscript实现列出安装的软件列表
Jun 18 Javascript
jQuery DIV弹出效果实现代码
Jul 03 Javascript
JavaScript的setAttribute兼容性问题解决方法
Nov 11 Javascript
JS克隆,属性,数组,对象,函数实例分析
Nov 26 Javascript
简单实现IONIC购物车功能
Jan 10 Javascript
vue-rx的初步使用教程
Sep 21 Javascript
vue 基于element-ui 分页组件封装的实例代码
Dec 10 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
js键盘事件实现人物的行走
Jan 17 Javascript
vue实现按钮切换图片
Jan 20 Vue.js
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导出oracle库的php代码
2009/04/20 PHP
PHP校验ISBN码的函数代码
2011/01/17 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
kmock javascript 单元测试代码
2011/02/06 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
Django实现跨域的2种方法
2019/07/31 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python基于Faker假数据构造库
2020/11/30 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
央视元宵晚会主持串词
2014/03/25 职场文书
教师节寄语2015
2015/03/23 职场文书
防汛通知
2015/04/25 职场文书
请客吃饭开场白
2015/06/01 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python
js基础语法与maven项目配置教程案例
2021/07/15 Javascript