element+Sortable实现表格拖拽

Element-ui el-table 使用 SortableJS 实现表格拖拽排序,并将排序结果更新到数据库使数据行顺序修改 前言 当我们使用 Element el-table 组件时,需要用到拖拽排序的需求时,虽然 el-table 自带支持按列排序,但是当我们自己拖拽进行排序时,现有组件是无法满足的。 这个时候我们就需要引入一个强大的js拖拽库:SortableJS 该拖拽库简单易上手,官网提供了我们常用的拖拽效果的demo,下面我主要记录一下如何在我们的项目中快速上手使用。 一、安装 安装方式分为三种: 1、npm 安装 npm install sortablejs --save 2、bower 安装 bower inst 阅读详情

1.先安装sortablejs

<template>
  <el-table :data="Data" align="left">
    <el-table-column v-for="(item, index) in Table" :key="index" :prop="dropCol[index].prop" :label="item.label"> 
      <template slot-scope="scope">
        <el-button v-if="dropCol[index].prop=='companyname'" type="text" size="medium">{{scope.row[dropCol[index].prop]}}</el-button>
        <span v-else>{{scope.row[dropCol[index].prop]}}</span>
      </template>
    </el-table-column>
  </el-table>
</template>
<script>
import Sortable from 'sortablejs'
export default {
  data() {
    return {
      Table: [
        {
          label: '公司名称',
          prop: 'companyname'
        },
        {
          label: 'global_id',
          prop: 'global_id'
        },
        {
          label: '省',
          prop: 'address'
        }
      ],
      dropCol: [
        {
          label: '公司名称',
          prop: 'companyname'
        },
        {
          label: 'global_id',
          prop: 'global_id'
        },
        {
          label: '省',
          prop: 'address'
        }
      ],
      Data: [
        {
          id: '1',
          companyname: '公司名称1',
          global_id: '2606615561',
          address: '广东'
        },
        {
          id: '2',
          companyname: '公司名称1',
          global_id: '2594631498',
          address: '浙江'
        },
        {
          id: '3',
          companyname: '公司名称1',
          global_id: '2586480635',
          address: '浙江'
        },
      ]
    }
  },
  mounted() {
    this.rowDrop()
    this.columnDrop()
  },
  methods: {
    //行拖拽
    rowDrop() {
      const tbody = document.querySelector('.el-table__body-wrapper tbody')
      const _this = this
      Sortable.create(tbody, {
        onEnd({ newIndex, oldIndex }) {
          const currRow = _this.Data.splice(oldIndex, 1)[0]
          _this.Data.splice(newIndex, 0, currRow)
        }
      })
    },
    //列拖拽
    columnDrop() {
      const wrapperTr = document.querySelector('.el-table__header-wrapper tr')
      this.sortable = Sortable.create(wrapperTr, {
        animation: 180,
        delay: 0,
        onEnd: evt => {
          const oldItem = this.dropCol[evt.oldIndex]
          this.dropCol.splice(evt.oldIndex, 1)
          this.dropCol.splice(evt.newIndex, 0, oldItem)
        }
      })
    }
  }
}
</script>

 

Vue + Element UI + Sortable.js 实现表格行和列的拖拽 通过初始化 Sortable.js,并在拖拽结束事件的回调函数中更新表格数据和列定义,我们可以实现灵活的表格排序功能。在前端开发中,经常会遇到需要对表格的行和列进行拖拽排序的需求。在拖拽结束事件的回调函数中,我们根据拖拽的元素类型(行或列)以及拖拽的起始位置和终止位置,来更新表格数据和列定义。在上述代码中,我们首先获取表格元素和表格列元素,然后使用 Sortable.js 的。接下来,我们需要创建一个 Vue 实例,并在该实例中定义我们的表格组件。,设置了可拖拽元素的选择器和拖拽结束事件的回调函数。 阅读详情

相关推荐

Cadence元件库介绍

Cadence安装完之后,在安装目录下,会有默认自带的一些常用元件库。例如,我的Candece安装目录为: D:\Cadence\Cadence_SPB_17.2-2016 元件库所在目录为: D:\Cadence\Cadence_SPB_17.2-2016\tools\capture\library 各个元件库对应的内容如下: AMPLIFIER.OLB 共 182 个零件,存放模拟放大器 IC,如 CA3280,TL027C,EL4093 等。 ARITHMETIC.OLB 共 182 个零件,存放

年少时的棉花糖 1万+

element ui table中使用拖拽排序组件sortablejs及注意事项

element ui table中使用拖拽排序组件sortablejs及注意事项 1.使用: 先安装 sortablejs插件,然后在当前页面引入 npm install sortablejs --save import Sortable from "sortablejs"; 具体代码如下: <el-table class="sortingVisible" :data="tableData" row-key="id" v-loading="loading"> <el-tabl

yuwenwenwenwenyu的博客 1343

计算pi小数点后10000位

数据结构课上,老师让我们计算一下pi的10000位,复习一下面向对象。 First Try:定义一个高精度类hp(high precision),实现加减乘除,输入输出,然后随便找一个公式,比如Wallis公式,全都用hp进行计算。 现实是:大数乘大数或者大数除大数,实在是太慢了。而且Wallis公式收敛太慢。 Second Try先找到一个收敛较快的公司:BBP公式,观察公式发现,...

我的技术人生 7394

Element-ui el-table 使用 SortableJS 实现表格拖拽

Element-ui el-table 使用 SortableJS 实现表格拖拽

qq_52126119的博客 4432

基于STM32智能震动报警器震动检测声光报警系统设计

*单片机设计介绍,基于STM32智能震动报警器震动检测声光报警系统设计。

2201_75940997的博客 2149

5090D显卡安装LLaMA-Factory避坑指南:PyTorch与CUDA版本兼容性问题解决

本文是针对5090D显卡安装LLaMA-Factory时遇到的PyTorch与CUDA版本兼容性问题的详细解决指南。文章深入剖析了因GPU架构代际差异导致的“no kernel image”报错根源,并提供了从环境诊断、安装匹配的PyTorch Nightly版本,到最终集成验证的完整路径,帮助用户确保LLaMA-Factory在5090D上稳定运行。

Apple的专栏 868

基于sortablejs实现拖拽element-ui el-table表格行进行排序

【代码】基于sortablejs实现拖拽element-ui el-table表格行进行排序。

我驾驶汽车从不是为了从A点到达B点,我喜欢去感受汽车,与之交流,与之融为一体。 1767

基于STM32的宠物智能照护嵌入式系统设计

嵌入式系统是实现物联网终端设备本地化感知、决策与执行的核心技术载体,其关键在于多传感器融合、低功耗执行控制与轻量级云边协同。本文围绕环境监测(温湿度、烟雾、余粮)、机电执行(步进电机食盘、继电器风扇)和可靠通信(MQTT+ESP8266)三大技术主线,深入解析STM32F103在资源约束下的外设调度策略、ADC采样抗干扰设计、DHT11时序精准控制及HX711称重滤波算法等工程实践要点。系统强调本地闭环优先原则,确保离线基础功能可用,同时通过阿里云IoT平台实现远程监控与告警联动,为中小型智能硬件项目提供可

weixin_29155599的博客 293

element table sortable.js(拖拽 行 列)

js简单记录一下 先看效果图: 稍作修改: 项目需要点击按钮才能拖拽(handle: '.move', // handle's class ) 二话不说直接上代码 <template> <div> <el-table row-key="date" ref="table" border :data="tableData" style="width: 100%"> <el-table-column prop="date" la..

Quiet_123的博客 1181

西门子S7-1200的PID应用(恒温热水器)

物料清单:1200PLC一台,模拟量输入模块SM1231(PLC自带的输入通道不支持4-20mA电流输入)一个,PT100一个,温度变送器,热得快,固态继电器。 第一步,硬件接线; 第二步,新建1200工程,添加PLC和模拟量输入模块,修改模块的模拟量输入类型为4-20mA,模拟量模块的IO地址为96-103(8个字); 第三步,新建循环组织块OB30,循环时间选择默认点1...

weixin_30835649的博客 6549

【PCL 特征】积分图法线估计

本文介绍了基于积分图的有序点云法线估计方法。通过利用点云数据的行列式结构特性,该方法避免了传统KD树搜索,采用积分图将邻域统计运算复杂度从O(k²)降至O(1)。详细阐述了四种法线估计算法:协方差矩阵法(精度最高)、平均3D梯度法(实时性好)、平均深度变化法(适合SLAM)和简单3D梯度法(速度最快)。重点分析了积分图构建、动态窗口平滑处理、法线方向调整等关键技术,并提供了PCL实现代码示例。实验表明,不同方法在精度和速度上存在显著差异,可根据具体应用场景选择合适算法。

yijiujiusan的博客 275

vue+Element 使用sortable实现表格拖拽

vue+element 使用sortable实现表格拖拽

qq_45416916的博客 1110

【RT-DETR涨点改进】全网独家首发、注意力改进篇 | ICLR 2026 | 引入 MHLA 多头线性注意力,关注不同的上下文区域,弥补卷积的长程依赖建模方面的不足,助力高效涨点,来自北京大学

🔥本文提出MHLA多头线性注意力模块,用于改进RT-DETR目标检测网络。MHLA通过恢复线性注意力的表达能力,在保持线性复杂度的同时,为网络提供高效的全局上下文建模能力。该方法解决了传统线性注意力在长序列建模中的"全局上下文坍塌"问题,使不同空间位置能关注不同上下文区域。实验表明,MHLA显著提升了RT-DETR在复杂背景、小目标和遮挡场景下的检测性能,且不增加显著计算开销。文章详细介绍了MHLA的原理、优势及8种改进方案,并提供了完整的代码实现和配置指南。

Ai缝合怪、助力小伙伴高效发论文 271

element-ui + sortable.js 实现可拖拽表格

安装Sortablejs npm install sortablejs --save

m0_47659279的博客 349

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

基于Sortable.js实现Element UI表格行列拖拽排序功能

在前端开发中,表格数据展示与交互是常见的需求。其核心原理是通过数据绑定与DOM渲染,将结构化数据以行列形式呈现。为了提升用户体验,实现直观的数据顺序调整,拖拽排序技术应运而生。该技术通过监听DOM元素的拖拽事件,动态改变其位置,并将视觉变化同步回数据层,从而实现视图与数据的统一。其技术价值在于能够显著提升后台管理系统、数据看板等场景下的操作效率与交互直观性。本文聚焦于Vue.js技术栈下的具体实践,详细讲解如何利用轻量灵活的Sortable.js库,与广泛使用的Element UI组件库深度集成,解决el-

weixin_30920513的博客 427

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

html5+table+行拖动,sortable+element 实现表格行拖拽

背景1、vue项目中的表格需要实现行拖拽功能2、表格使用element组件库中el-table方案介绍Sortable.js介绍:Sortable.js是一款轻量级的拖放排序列表的js插件引用自官方文档:No jQuery required. Supports Meteor, AngularJS, React, Polymer, Vue, Knockout and any CSS library,...

weixin_28826521的博客 684

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

vue+element+Sortable实现表格行拖拽功能

vue+element项目实战:vue+element+Sortable实现表格行拖拽功能 1.mpm下载插件 :npm install sortablejs --save 2.页面引入:import Sortable from 'sortablejs' 以上步骤进行完毕,就可利用Sortable实现表格拖拽。 根据我的项目需求,下面是我的写法,请大家参考: 我项目中某个页面需要点击排序,用的是el的dialog弹窗 弹窗内对表格进行排序。 下面请大家参考代码: 3.打开排序的button按钮h

jin_ba_dao的博客 2559

vue+element-ui+sortable.js实现表格行和列的拖拽

vue+element-ui+sortable.js实现表格行和列的拖拽 真的 行和列都可以拖拽 源码在这里:(自己去下载看看哈)https://github.com/banana618859/vue_table_drag 效果 图一: 图二: 两种效果,两种实现方式 希望对您有帮助。 ...

yuan_618859的博客 1600

sortable+element 实现表格行拖拽的方法示例

介绍:Sortable.js是一款轻量级的拖放排序列表的js插件引用自官方文档:No jQuery required. Supports Meteor, AngularJS, React, Polymer, Vue, Knockout and any CSS library, e.g. Bootstrap.

qq_43548590的博客 1038

vue 实现element-ui 表格的行拖拽排序 (Sortable)

vue 实现element-ui 表格的行拖拽排序 (Sortable)

PaPablame的博客 3688

vue+element-ui+sortable.js实现表格拖拽功能

效果如下: 1.vue使用cli项目就不说了,本人使用的是cli3.x版本 2.下载element-ui npm i element-ui -S 3.引入element-ui,找到main.js,加入如下代码 // 导入element-ui,和全局使用element-ui样式 import ElementUI from "element-ui"; import "element-ui/lib/...

qq_40544291的博客 2918

element table表格基于sortable.js拖拽组件实现表格列,行拖拽排序

sortable.js功能强大的JavaScript 拖拽库 特性 1,支持多种框架(angular、vue、react等) 4,简单的API,方便使用 2,支持所有的css框架, 5,不依赖Jquery等其他框架 3,支持触屏设备和大部分浏览器 6,基于原生HTML5中的拖放API 安装 npm ins...

qwyio的博客 2024

通过Sortable.js实现element-表格拖拽

首先需要安装Sortable.js npm install sortablejs --save 然后引用 import Sortable from ‘sortablejs’ 需要注意的是element table务必指定row-key,row-key必须是唯一的,如ID,不然会出现排序不对的情况。 <template> <divstyle="width:800px"> <el-table:data="tableData" border ...

weixin_45045252的博客 390

Vue+Element UI表格行列拖拽实战:基于Sortable.js的完整实现方案

在前端开发中,表格数据排序是常见的交互需求。传统方式依赖按钮操作,效率较低,而拖拽排序通过直观的视觉反馈和操作路径,能显著提升数据密集场景下的用户体验。其技术原理是通过监听DOM事件,实时计算元素位置变化,并同步更新数据层状态。在Vue.js生态中,Element UI的el-table组件虽功能强大,但原生不支持拖拽排序,需要借助第三方库实现。Sortable.js作为老牌拖拽库,以其直接操作DOM的灵活性和丰富的配置项,成为解决此类问题的优选方案。本文通过【el-table拖拽】和【Vue数据同步】两个

weixin_30824479的博客 323

element-ui table 表格组件实现可拖拽效果(行、列)

效果如下: 1、首先,需要执行npm install sortablejs --save-dev 安装sortable.js 2、在页面内引入 <template> <div style="width:800px"> <el-table :data="tableData" border row-key="id" a...

xingbipai5492的博客 3万+

vue+element+sortable.js实现表格拖拽多条数据

Table表格数据合并、拆分、单条与多条拖动。 vue+element+sortable.js实现表格拖拽多条数据。安装:npm install sortablejs --save。

weixin_46054723的博客 1800
上一篇: scss笔记
下一篇: 小程序富文本wxparse
RubyLinT
博客等级 码龄9年 31粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值