vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Elementui toggleRowSelection()实现分页切换时记录之前选中状态

关于Elementui中toggleRowSelection()方法实现分页切换时记录之前选中的状态

作者:Ersonnnn

这篇文章主要介绍了关于Elementui中toggleRowSelection()方法实现分页切换时记录之前选中的状态,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Elementui中toggleRowSelection()方法实现分页切换时记录之前选中的状态

先说下需求

表格导出功能。

用户可以自定义选择导出的表格数据。

遇到的问题

使用el-table组件的selection属性,可以实现多选表格数据的功能。

但是el-table组件在翻页的时候,不会记录上一页的选项,再切换回上一页时,之前勾选过的选项会被清空。

解决方案

使用toggleRowSelection()方法设置勾选项。

思路

之前是使用一个数组记录当前页选中的选项,现在用一个数组记录每一页选中的选项

Step1:

在selection-change事件中绑定以下方法。

需要注意的是,每次换页的时候,如果之前有勾选选项,则表格选择项会发生变化(之前勾选,换页之后不勾选),触发该函数,所以需要在换页时增加一个标志量,判断是由于换页触发的该函数还是由于勾选变化触发的该函数。

Step2:

在换页之后,使用toggleRowSelection() 方法,将之前勾选中的选项重新勾选。

我之前是放在换页函数中的,发现没有重新渲染,参考这篇文章后:

得知了toggleRowSelection() 函数需要在页面渲染完毕之后才有效,而每次换页,数据都会进行更新,要重新渲染页面,所以需要放在this.$nextTick中

于是,代码如下:

这样,就能在换页时,将原来在该页勾选的数据重新选中了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文