antd 获取table选中行数据_element-ui 组件el-table默认选中行setCurrentRow采坑记

d58eb828fb71a4126b01e010055f2ca3.png

1.背景

选中表格中某一行,高亮显示,table表格数据变化后(删除某几条数据,不包括选中的删除), this.$refs.multipleTable.setCurrentRow(row),选中之前选中的行,可发现总是选中下一条的数据(选中的是2,删除3,4,5后再用this.$refs.multipleTable.setCurrentRow(row)选中2,结果选择的是6),控制台打印的数据是2的数据;

2.尝试

nextTick().setTimeout()都不能解决。明明this.$refs.multipleTable.setCurrentRow(row)传的数据是正确的,可页面就是选择另一行

3.源码

 setRowspanTrHoverState(cell, flag = 'enter') {const allRow = this.$el.querySelectorAll('tbody > tr.el-table__row');let rowspan = cell.getAttribute('rowspan');// 鼠标不再合并的单元格上直接中止if (rowspan === null) return;// 当前单元格所在行的序号let start = [].slice.call(allRow).indexOf(cell.parentNode);rowspan = +rowspan;// rowspan == 0表示从当前行一直都末尾都合并// rowspan == 1无意义,等同于未合并if (rowspan > 1 || rowspan === 0) {const end = rowspan > 0 ? rowspan + start - 1 : allRow.length - start;while (start <= end) {flag === 'enter'? addClass(allRow[start], 'hover-row'): removeClass(allRow[start], 'hover-row');start++;}}},

4.猥琐的结解决方案

 //监听tableData
watch: {tableData(val) {//this.curRow之前选中的行let curIndex = val.findIndex(item => item.id=== this.curRow.id)//如果之前选中的行被删除,默认选中第一行if (curIndex === -1) {this.$nextTick(() => {this.$refs.multipleTable.setCurrentRow(val[0])this.curRow = val[0]})} else {//如果之前选中的行没有被删除,则选中之前的行// 解决处理渲染错误的问题this.$nextTick(() => {let rows = this.$refs.multipleTable.$el.querySelectorAll('tbody > tr.el-table__row')if (rows.length) {rows = Array.from(rows)rows.forEach(item => item.classList.remove('current-row'))rows[curIndex].classList.add('current-row')}})}}},

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity protobuf中repeated转C#文件List只读问题

Unity protobuf中repeated转C#文件List只读问题 介绍问题解决方案总结 介绍 工具这里我就不多介绍了&#xff0c;如果有用到ProtoGen工具的可以继续看一下我后面的方法。 问题 如下图所示&#xff0c;我这里随便用了一个.proto文件&#xff0c;看下我这里面的repeated标记的…

贪吃蛇程序 php,微信小程序-贪吃蛇教程实例

很久很久以前&#xff0c;差不多大半年前吧&#xff0c;笔者发布了一篇关于OC版贪食蛇开发的文章&#xff0c;时隔多月&#xff0c;微信小程序横空出世&#xff0c;于是闲来无事的我又写了一个小程序版下面这段话请务必阅读笔者是做iOS的&#xff0c;而小程序大部分都是前端的知…

python遥感数据有偿处理_利用python读写tiff遥感影像数据

from osgeo import gdal# 读图像文件def read_img(filename):dataset gdal.Open(filename) # 打开文件im_width dataset.RasterXSize # 栅格矩阵的列数im_height dataset.RasterYSize # 栅格矩阵的行数im_geotrans dataset.GetGeoTransform() # 仿射矩阵im_proj dataset.G…

Tomcat启动时自动加载Servlet

转自&#xff1a;http://zhaoyongpan.blog.51cto.com/2714930/676239 想实现这样的功能&#xff1a; 1. Tomcat启动时随即启动Servlet; 2. Servlet启动时定时执行一个任务。 要点&#xff1a; 1、Tomcat中启动Servlet时&#xff0c;只需要在Servlet所在的工程的配置文件web…

internal java compiler error_Java异常处理总结

背景 最近专门负责团队的项目质量。我在治理异常日志过程中&#xff0c;总结了一下Java的异常处理。上面是我整理的最近自己比较常见的异常知识地图。异常知识地图概述 从异常知识地图最左边的根开始看&#xff0c;地图从左到右的连线连接的类之间有实实在在的父…

java异步刷新集合,同步和异步集合的性能测试,异步集合性能测试,package cn.o

同步和异步集合的性能测试&#xff0c;异步集合性能测试,package cn.opackage cn.outofmemory.snippets.core;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Vector;import java.util.concurrent.TimeUnit;public class Co…

cuda nvcc版本不一致_windows 验证CUDA和CUDNN是否安装成功

安装完成CUDA&#xff0c;使用 nvcc -V 验证是否安装成功&#xff0c;看到如下信息说明安装成功接下来就可以安装 cuDNN 了。安装cuDNN下载 cuDNN&#xff0c;下载之前需要先注册一下 Nvidia 的账号&#xff0c;下载地址为&#xff1a;https://developer.nvidia.com/rdp/cudnn-…

Nova Cell

Nova Cell V2 详解 现在 &#xff0c;OpenStack 在控制平面上的性能瓶颈主要在 Message Queue 和 Database 。 尤其是 Message Queue , 随着计算节点的增加 &#xff0c; 性能变的越来越差 。 为了应对这种情况 &#xff0c; Nova 很早之前提出来 nova-cell ( 以下以 cellv1 代…

Android 通过WIFI状态监听广播,判断进入指定wifi范围

原文地址&#xff1a;http://blog.csdn.net/kongxiuqi/article/details/52524500 --------------------------------------------- WIFI状态变化会发送广播&#xff0c;一些可用的广播在WifiManger.java中可以看到。 广播一&#xff1a;WIFI 状态开关变化的监听&#xff0c;en…

2018年度最佳网页设计与开发教程

任何一个网站从开发到最终上线&#xff0c; 都是需要团队协作且谨慎的一个过程&#xff0c;而实际中往往会遇到各类问题&#xff0c;所以网页设计师通常需要扮演多种角色&#xff0c;除了掌握必备的网页设计技能外&#xff0c;更应该对后期的开发流程及内容有所了解&#xff0c…

mysql_ping()函数的作用以及返回值的类型正确的是,[单选] mysql_ping()函数的作用以及返回值的类型正确的是:()...

[单选] mysql_ping()函数的作用以及返回值的类型正确的是&#xff1a;()更多相关问题中华田园犬&#xff0c;雄性&#xff0c;2岁&#xff0c;昨晚外出未归&#xff0c;今晨发现患犬精神沉郁&#xff0c;呼吸急促&#xff0c;体温39℃&#xff0c;左胸侧壁中下部有创1884年新疆…

java 截取byte数组_2020年的秋招已经开始了!最新Java面试题大全(文末附参考答案)送给大家...

包含的模块本文分为十九个模块&#xff0c;分别是&#xff1a;Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM共包含 208 道面…

MVP模式在Android项目中的使用

烦了在Activity中编写太多的代码&#xff0c;该app由我来主导。就选择用MVP模式。 概述 MVP是模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;、主持人&#xff08;Presenter&#xff09;的缩写&#xff0c;分别代表项目中3个不同的模块。 模型&#…

运行时错误7内存溢出_C++程序运行时的内存模型

C程序在运行时会将内存划分为4个区域&#xff1a;1代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理2全局区&#xff1a;存放程序的全局变量、静态变量、常量3栈区&#xff1a;由编译器进行自动分配和释放&#xff0c;存放函数的参数值&#xff0c;局部…

php strip_tags 少,详解PHP函数 strip_tags的用法不足之处

这篇文章主要介绍了详解PHP函数 strip_tags 处理字符串缺陷bug的相关资料,需要的朋友可以参考下详解PHP函数 strip_tags 处理字符串缺陷bugPHP 函数 strip_tags() 是一个常用函数&#xff0c;该函数可以剥去字符串中的 HTML、XML 以及 PHP 的标签。极大方便了对字符串的操作&am…

玩转Android之MVVM开发模式实战,炫酷的DataBinding!

原文&#xff1a;http://blog.csdn.net/u012702547/article/details/52077515 --------------------------------------------------------- MVP可以结合android的DataBinding -------------------------以下转载--------------- C# 很早就有了MVVM的开发模式&#xff0c;An…

打造一款便携版的Sublime Text

https://segmentfault.com/a/1190000000707661 https://www.cnblogs.com/52cik/p/sublime-diy.html 直接安装Sublime Text&#xff0c;不要打开 大家可以参照上文提到的《Sublime Text 全程指引》中的步骤去进行安装。我这里使用的是Sublime Text 2&#xff0c;其实3也是一样的…

confluence创建页面加载缓慢_树莓派4B使用docker安装confluence

说明confluence是一个专业的企业知识管理与协同软件&#xff0c;可以用于构建企业wiki。通过它可以实现团队成员之间的协作和知识共享。现在大多数公司都会部署一套confluence&#xff0c;用作内部wiki。另外confluence也可以作为个人的知识管理工具来用&#xff0c;只需要花10…

python用map提取一个数的个十百位数_如何使用python中的map函数?

我们在使用python过程中&#xff0c;为了避免错误删除&#xff0c;会选择做好一个序列后可以插入另外的序列中做为新序列的一部分内容。方便完成一些复杂的工程或多个片段分别编辑后再串成一个完整工程的操作。之前小编向大家介绍了在序列中起到累计作用的reduce函数(https://w…

matlab粒子加速器仿真,粒子群算法优化PID参数 仿真不出结果 程序如下

用的是《MATLAB智能算法30个案例分析》中的程序1.文件名为PSO_PID.mfunction z PSO_PID(x)assignin(base,Kp,x(1)); % 粒子群依次赋值给Kp 这部分运行结果> PSO_PIDassignin(base,Ki,x(2)); …