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

elementui + vue2实现表格行的上下移动

场景:

在这里插入图片描述
如上,要实现表格行的上下移动

实现:

<el-dialogappend-to-bodytitle="条件编辑":visible.sync="dialogVisible"width="60%"><el-table :data="data1" border style="width: 100%"><el-table-column type="index" label="序" width="100" align="center"></el-table-column><el-table-column prop="edit" label="" align="center"><template slot-scope="scope"><el-button:disabled="scope.$index === 0"plaintype="primary"icon="el-icon-top"@click="moveUp(scope.$index, scope.row)">上移</el-button><el-button:disabled="scope.$index === data1.length - 1"plaintype="primary"icon="el-icon-bottom"@click="moveDown(scope.$index, scope.row)">下移</el-button></template></el-table-column></el-table></el-dialog>
  // 上移moveUp(index, row) {if(index !== 0){const currentRow = row;this.data1.splice(index, 1);this.data1.splice(index - 1, 0, currentRow);}},// 下移moveDown(index, row) {if(index !== this.data1.length-1){const currentRow = row;this.data1.splice(index, 1);this.data1.splice(index + 1, 0, currentRow);}},

参考:

点击上移或下移按钮对当前行进关联操作,如果是表格第一行则不能上移,如果是表格的最后一行,则不能进行下移,不能思意就是禁用。
当前需要获取到表格的index,可以通过:row-class-name="tableRowClassName"这个方法


---# 原因分析:
> 上移禁用功能可以根据row.index ===0 来判断,下移禁用根据row.index === tableDate.length - 1 来判断---# 解决方案:
>提示:这里填写该问题的具体解决方案:
关键性代码://  上移功能moveUp(index) {const currentRow = this.tableData.splice(index, 1)[0]this.tableData.splice(index - 1, 0, currentRow)}//  下移功能moveDown(index) {const currentRow = this.tableData.splice(index, 1)[0]this.tableData.splice(index + 1, 0, currentRow)}

原文

splice的使用

在这里插入图片描述
原文

http://www.lryc.cn/news/261503.html

相关文章:

  • 2、快速搞定Kafka术语
  • CSS新手入门笔记整理:CSS3选择器
  • D34|不同路径
  • 【运维】Kafka高可用: KRaft(不依赖zookeeper)集群搭建
  • Python 自动化之批量处理文件(一)
  • 力扣72. 编辑距离
  • Unity中 URP Shader 的纹理与采样器的分离定义
  • Electron学习第一天 ,启动项目
  • WebService技术--随笔1
  • 如何使用Docker将.Net6项目部署到Linux服务器(一)
  • 第4章-第3节-Java中跟数组相关的几个算法以及综合应用
  • AlexNet(pytorch)
  • 【单调栈 】LeetCode321:拼接最大数
  • TikTok与虚拟现实的完美交融:全新娱乐时代的开启
  • PXI/PCIe/VPX机箱 ARM|x86 + FPGA测试测量板卡解决方案
  • ES6 面试题 | 12.精选 ES6 面试题
  • 【linux】Debian不能运行sudo的解决
  • 讲解ThinkPHP的链式操作
  • Java技术栈 —— 微服务框架Spring Cloud —— Ruoyi-Cloud 学习(二)
  • 如何进行软件测试和测试驱动开发(TDD)?
  • linux 开机启动流程
  • Mybatis 动态SQL的插入操作
  • 共建开源新里程:北京航空航天大学OpenHarmony技术俱乐部正式揭牌成立
  • 企业微信机器人发送文本、图片、文件、markdown、图文信息
  • 智能优化算法应用:基于天牛须算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【Hive】【Hadoop】工作中常操作的笔记-随时添加
  • DIY电脑装机机箱风扇安装方法
  • 基础算法(4):排序(4)冒泡排序
  • 鸿蒙开发之网络请求
  • PrimDiffusion:3D 人类生成的体积基元扩散模型NeurIPS 2023