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 相关文章推荐
JavaScript类和继承 constructor属性
Mar 04 Javascript
javascript基础知识大集锦(二) 推荐收藏
Jan 13 Javascript
JavaScript获取页面中第一个锚定文本的方法
Apr 03 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
Sep 19 Javascript
JS实现的Unicode编码转换操作示例
Apr 28 Javascript
JavaScript实现动态添加Form表单元素的方法示例
Aug 14 Javascript
element ui 对话框el-dialog关闭事件详解
Feb 26 Javascript
JavaScript 判断对象中是否有某属性的常用方法
Jun 14 Javascript
在layui中select更改后生效的方法
Sep 05 Javascript
JS实现百度搜索框关键字推荐
Feb 17 Javascript
关于ES6尾调用优化的使用
Sep 11 Javascript
javascript实现放大镜功能
Dec 09 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
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
Mootools 1.2教程 函数
2009/09/15 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
JavaScript实现区块链
2018/03/14 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
python导入pandas具体步骤方法
2019/06/23 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
三个python爬虫项目实例代码
2019/12/28 Python
python try...finally...的实现方法
2020/11/25 Python
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
提高EJB性能都有哪些技巧
2012/03/25 面试题
专科毕业生求职简历的自我评价
2013/10/12 职场文书
团支部建设方案
2014/05/02 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python