vue3中实现elementPlus表格选中行的上移下移

先看效果:

实现步骤:

1、给el-table添加current-change事件、高亮属性及ref属性

 

2、给上移下移按钮添加事件

// 定义当前选中的行参数
const currentRow = ref<any>(null);
// 定义表格的ref
const singleTableRef = ref();
// 行选中事件
const handleCurrentChange = (val: any) => {
  currentRow.value = val;
};

// curcelRight.value.fields是表格数据
// 上移事件
const upRow = () => {
  if (currentRow.value) {
    // 在表格数据中找到当前选中行的索引
    let index = curcelRight.value.fields.findIndex((d: any) => d.code == currentRow.value.code);
    // 索引存在
    if (index && index > 0) {
      // 则利用es6中的解构赋值来实现交换两元素的位置
      [curcelRight.value.fields[index], curcelRight.value.fields[index - 1]] = [
        curcelRight.value.fields[index - 1],
        curcelRight.value.fields[index],
      ];
    }
    // setCurrentRow中传入当前行可以实现不清除选中效果,可以多次上移
    singleTableRef.value.setCurrentRow(currentRow.value);
  }
};
// 下移事件
const downRow = () => {
  if (currentRow.value) {
    let index = curcelRight.value.fields.findIndex((d: any) => d.code == currentRow.value.code);
    if (index + 1 != curcelRight.value.fields.length) {
      if (index > -1 && curcelRight.value.fields.length > 1) {
        [curcelRight.value.fields[index], curcelRight.value.fields[index + 1]] = [
          curcelRight.value.fields[index + 1],
          curcelRight.value.fields[index],
        ];
      }
      singleTableRef.value.setCurrentRow(currentRow.value);
    }
  }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/418243.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习:Recommendation System】推荐系统

推荐系统&#xff08;或推荐系统&#xff09;是一类机器学习&#xff0c;它使用数据来帮助预测、缩小范围并在呈指数级增长的选项中找到人们正在寻找的内容。 【机器学习&#xff1a;Recommendation System】推荐系统 什么是推荐系统&#xff1f;用例和应用电子商务与零售&…

阿里云轻量服务器,ubuntu20.04安装Redis

第一步&#xff1a;下载xshell7,连接阿里云服务器 就是下图这个ip 第二步&#xff1a;输入用户名和密码 上面那一步完成之后&#xff0c;就会弹出来下面这个图片 用户名是root 密码是你的阿里云服务器密码 如果你要是忘了&#xff0c;如下图&#xff0c;重置密码&#xff0…

AI Agent

目录 一、什么是Agent 二、什么是MetaGPT【多智能体框架介绍】 三、MetaGPT的背景 一、什么是Agent 智能体 LLM观察思考行动记忆 Agent&#xff08;智能体&#xff09; 一个设置了一些目标或任务&#xff0c;可以迭代运行的大型语言模型。这与大型语言模型&#xff08;LLM&am…

ywtool network命令

一.network功能介绍 network功能就是通过脚本的方式配置IP信息&#xff0c;分为4项: (1) 配置单网卡(2)配置br网桥(单网卡)(3)配置bond(两张网卡)(4)配置ovs网桥(单网卡) 日志文件:/var/log/ywtools/ywtools-network.log/usr/local/ywtools/config/config.ini中network参数:…

电子科技大学课程《计算机网络系统》(持续更新)

前言 本校的课程课时有所缩减&#xff0c;因此可能出现与你学习的课程有所减少的情况&#xff0c;因此对其他学校的同学更多的作为参考作用。本文章适合学生的期中期末考试&#xff0c;以及想要考研电子科技大学的同学&#xff0c;电子科技大学同学请先看附言。 第一章 计算…

Mac OS 制作可引导安装器并重新安装系统

Mac 使用 U盘或移动固态硬盘制作可引导的安装器&#xff08;以 Monterey 为例&#xff09; 本教程参考 Apple 官网相关教程 创建可引导 Mac OS 安装器 重新安装 Mac OS 相关名词解释 磁盘分区会将其划分为多个单独的部分&#xff0c;称为分区。分区也称为容器&#xff0c;不同…

AOP(黑马学习笔记)

AOP基础 学习完spring的事务管理之后&#xff0c;接下来我们进入到AOP的学习。 AOP也是spring框架的第二大核心&#xff0c;我们先来学习AOP的基础。 在AOP基础这个阶段&#xff0c;我们首先介绍一下什么是AOP&#xff0c;再通过一个快速入门程序&#xff0c;让大家快速体验A…

易货模式微信小程序的可行性分析

随着移动互联网技术的快速发展&#xff0c;微信小程序作为一种轻量级的应用形态&#xff0c;已经成为众多创业者和服务提供者关注的焦点。微信小程序以其便捷的使用体验、较低的开发成本和广泛的用户基础&#xff0c;成为了各类业务模式的创新平台。在这样的背景下&#xff0c;…

图解知识蒸馏

soft labels与soft predictions越接近越好&#xff0c;通过Loss Fn来实现&#xff0c;产生的数值叫做distillation loss&#xff0c;也叫soft loss。 hard label y与hard prediction越接近越好&#xff0c;通过Loss Fn来实现&#xff0c;产生的数值叫做student loss&#xff0c…

[OpenCv]图像增强

目录 前言 一、灰度变化 二、直方图修整 1.直方图概念 2.直方图变化 3.直方图均衡化 二、图像平滑 1.卷积模板 2.均值滤波 3.高斯滤波 4.中值滤波 三、图像锐化 1.梯度算子 2.使用Laplacian算子进行锐化 3.使用Sobel算子进行锐化 四、代码总结 1.图片 2.代码 …

深度强化学习入门(待修改)

目录 前言 一、强化学习 1.马可洛夫链 2.蒙地卡罗 3.时序差分TD 4.gym学习​编辑 FrozenLake 二、RL基本算法 1.Q-learning和SARSA 2.DQN Deep network Qlearning DQN 三、PG策略算法 总结 前言 这段时间学习深度强化学习的总结。 一、强化学习 强化学习是做出最佳决策的科学…

vue-electron 项目创建记录及注意事项

vue-electron 项目创建记录及注意事项 1、使用vue ui或者命令行创建vue项目 2、添加electron插件 3、安装element-plus: npm install --save element-plus 4、修改配置文件如下图: vue.config.js增加配置&#xff1a; pluginOptions:{ electronOutput: { contextIsolation…

centos物理电脑安装过程(2024年1月)

开机时&#xff1a;CtrlAltDelete键重启电脑 重启开始时&#xff1a;按F11&#xff0c;桌面弹出蓝色框&#xff0c;选择第二个SSK SFD142 1.00&#xff0c;回车 选择install centos7安装 选择后弹出选择安装选项&#xff0c;选择语言 连接无线网络 安装设置&#xff0c;选择磁…

gpt批量原创文章生成器,不限制内容的生成器

在当今的数字化时代&#xff0c;内容创作是网站持续发展的重要组成部分。然而&#xff0c;对于拥有大量内容需求的网站来说&#xff0c;手动创作文章可能会耗费大量时间和精力。为了解决这一问题&#xff0c;许多GPT&#xff08;生成式预训练模型&#xff09;文章生成软件应运而…

lv20 QT事件

1 事件模型 2 事件处理 virtual void keyPressEvent(QKeyEvent *event) virtual void keyReleaseEvent(QKeyEvent *event) virtual void mouseDoubleClickEvent(QMouseEvent *event) virtual void mouseMoveEvent(QMouseEvent *event) virtual void mousePressEvent(QMou…

C++笔记(六)--- 静态成员变量/函数(static)

目录 C语言中静态变量 C静态成员变量 C静态成员函数 C语言中静态变量 1.函数内部用static修饰的变量&#xff0c;只能在此函数使用&#xff0c;但所修饰的变量不随函数释放而释放&#xff0c;下次调用时的值仍为上次结束时的值2.static修饰的全局变量只能在其定义的文件使用…

吴恩达《机器学习》学习笔记

本笔记资料来源于 http://www.ai-start.com/ml2014/&#xff0c;该笔记来自于https://blog.csdn.net/dadapongi6/article/details/105668394&#xff0c;看了忘&#xff0c;忘了看&#xff0c;再看一遍。 时间统计&#xff1a;2024.2.29 5个番茄钟&#xff0c;从week1开始&…

智慧城市:打造宜居环境,引领未来可持续发展

随着科技的不断进步与创新&#xff0c;我们的城市正步入一个崭新的时代——智慧城市。智慧城市是指运用信息技术和大数据等现代科技手段&#xff0c;对城市基础设施、公共服务和社会管理进行智能化改造&#xff0c;实现城市各领域的智能化、信息化和高效化。今天&#xff0c;就…

【六袆 - MySQL】MySQL 5.5及更高版本中,InnoDB是新表的默认存储引擎;

InnoDB 这是一个MySQL组件&#xff0c;结合了高性能和事务处理能力&#xff0c;以确保可靠性、健壮性和并发访问。它体现了ACID设计哲学。它作为一个存储引擎存在&#xff0c;处理使用ENGINEINNODB子句创建的或修改的表。请参阅第14章“InnoDB存储引擎”以获取有关架构细节和管…

Prometheus 安装指南

目录 介绍 安装 介绍 Prometheus是一款开源监控系统&#xff0c;适用于容器化和微服务。它使用多维数据模型&#xff0c;支持PromQL查询语言&#xff0c;可以通过多种方式采集数据。具备灵活的告警和通知机制&#xff0c;可集成图形工具创建仪表盘。通过本地存储高效保存时间…