问题:vue2+elementui,tabs切换显示表格并设置表格选中行高亮失败

错误示范:

1.直接setCurrentRow失败(this.currentRow是之前保存的表格当前选中行的数据)

javascript 复制代码
this.$refs.table.setCurrentRow(this.currentRow);

2.以为是表格没生成就执行了setCurrentRow导致设置不成功,所以使用了this.$nextTick,依旧失败

javascript 复制代码
this.$nextTick(() => {
	this.$refs.table.setCurrentRow(this.currentRow);
});

最后解决:

好吧,最后发现问题出在setCurrentRow的参数上,不管你有没有改动表格数据,用你需要选中的行id,去遍历表格数据,遍历到item.id===id,则row =item,最后用this.$refs.table.setCurrentRow(row)可以解决。

完整代码如下:

javascript 复制代码
this.$nextTick(() => {
	let currentRow = this.tableData.filter(item => {
		return item.id === this.currentRowId;
	});
	console.log("有选中行", currentRow[0]);
	this.$refs.table.setCurrentRow(currentRow[0]);
});

这个nextTick因为写了就没去掉,不包可能也行吧。

这是之前参数的由来:

参考:

相关推荐
天宇&嘘月1 小时前
web第三次作业
前端·javascript·css
小王不会写code2 小时前
axios
前端·javascript·axios
发呆的薇薇°3 小时前
vue3 配置@根路径
前端·vue.js
luckyext3 小时前
HBuilderX中,VUE生成随机数字,vue调用随机数函数
前端·javascript·vue.js·微信小程序·小程序
小小码农(找工作版)3 小时前
JavaScript 前端面试 4(作用域链、this)
前端·javascript·面试
前端没钱4 小时前
前端需要学习 Docker 吗?
前端·学习·docker
前端郭德纲4 小时前
前端自动化部署的极简方案
运维·前端·自动化
海绵宝宝_4 小时前
【HarmonyOS NEXT】获取正式应用签名证书的签名信息
android·前端·华为·harmonyos·鸿蒙·鸿蒙应用开发
码农土豆5 小时前
chrome V3插件开发,调用 chrome.action.setIcon,提示路径找不到
前端·chrome
鱼樱前端5 小时前
深入JavaScript引擎与模块加载机制:从V8原理到模块化实战
前端·javascript