当前位置: 首页 > news >正文

element+vue 表格行拖拽功能

解决方案
使用 sortable.js

步骤一: 安装

npm install vuedraggable

步骤二:引入

import Sortable from 'sortablejs';

步骤三: el-table 添加row-key属性,外层包一层 sortableDiv

<div class="sortableDiv">   拖拽的盒子名字sortableDiv
<el-tableref="filterTable"row-key="ip" :data="resourceList" ><el-table-columnprop="name"label="主机名" :min-width="150" show-overflow-tooltip></el-table-column></el-table>

实例:
下图的重点: 1.el-table 添加row-key属性,2.外层包一层 sortableDiv, 3.图标drag-icon在这里插入图片描述

步骤四 : 将拖拽元素设置为要拖动项的父级元素

在这里插入图片描述

在这里插入图片描述

看完整的demo示例:

--------------------------  html  --------------------------
<div class="sortableDiv">   1.拖拽的盒子名字sortableDiv
<el-tableref="filterTable"row-key="id"  :data="planData" v-loading="resourceListLoading" ><el-table-column align="center" label="移入可拖拽(仅支持手工)" width="110px"><template slot-scope="{row, $index}"><i title="拖拽行数据" class="co-icon-move-solid drag-icon" /><span>名字</span></template></el-table-column><el-table-column prop="name" align="center" label="计划名称"></el-table-column></el-table></div>
--------------------------  method  --------------------------
import Sortable from 'sortablejs';
行拖拽
mounted() {this.rowDrop()},// 下面是 methods
rowDrop() {// 获取tbody 第一种const tbody = document.querySelector('.sortableDiv .el-table__body-wrapper tbody')// 获取tbody 第二种   有时候document取不到的时候可以使用refconst myDialog = this.$refs.myDialogconst tbody = myDialog.$el.querySelector('#sortableDiv .el-table .el-table__body-wrapper .el-table__body tbody')const _this = thisSortable.create(tbody, {handle: ' .drag-icon',draggable: '.el-table__row',onEnd({ newIndex, oldIndex }) {const currRow = _this.tableData.splice(oldIndex, 1)[0]_this.tableData.splice(newIndex, 0, currRow)}})},
http://www.lryc.cn/news/128034.html

相关文章:

  • Python学习笔记_基础篇(三)_数据类型之列表
  • 目标检测YOLO实战应用案例100讲-交通目标检测中传感器数据采集容错控制方法
  • ElasticSearch 8.9.0 开发模式安装
  • docker部署redis
  • ZooKeeper的应用场景(分布式锁、分布式队列)
  • seata 的部署和集成
  • C++入门基础(万字详解!!!)
  • 神经网络基础-神经网络补充概念-53-将batch norm拟合进神经网络
  • Sping源码(六)— prepareBeanFactory()
  • LeetCode(力扣)257. 二叉树的所有路径Python
  • nodejs实现http与https服务;同时处理proxy代理的解决方案
  • C# WPF ListBox 动态显示图片
  • 游戏如何防御DDOS流量攻击呢,用游戏盾真的有用么?
  • vue项目引入antDesignUI组件
  • 非结构化数据库-MinIO基本集成
  • Etcd备份及恢复
  • 使用JavaMail发送邮件时嵌入公司logo图片
  • 注解 @Async
  • Python“牵手”lazada商品评论数据采集方法,lazadaAPI申请指南
  • 微信小程序通用字体代码
  • LVS负载均衡DR模式
  • ArcGIS Pro基础入门、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合、案例全流程科研能力提升
  • ​ Spring Clould 配置中心 - Nacos
  • 1609.奇偶数
  • c++--异常
  • ArcGIS 利用cartogram插件制作变形地图
  • Mybatis批量插入方式有哪些
  • 前端框架学习-React(一)
  • Android Studio实现解析HTML获取图片URL将图片保存到本地
  • 单例模式的理论与实践