关于element 框架中table表格选中并切换下一页之前选中数据消失的问题

问题描述:

在实际项目中使用element框架的table表格时,发现当前页选中了数据,点击切换下一页时,再选中数据,发现上一页选中的数据消失了。(目的是:要把用户选择的所有数据显示到页面上)

代码如下:

<!-- html 代码 -->
<table :data="tableData" @selection-change="handleSelectionChange" ref="multipleTable" :row-key="getRowKey"> // 3、行数据的key,用来优化table的渲染,在使用reserve-selection功能与显示树形数据时,该属性必填,支持多层访问,但不支持user.info[0].id这种,不过可以使用function
   <el-table-column type="selection" :reserve-selection="true"></el-taable-column>  //4、这个是选择框  reserve-selection 仅对type=selection的列有效,为true则会在数据更新之后保留之前选中的数据,需要指定row-key。
   <!--  省略掉其他 el-table-column 代码  -->
</table>

<!-- 分页  -->
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-size="pageSize" :page-sizes="[5,10,15]" layout="total,sizes,prev,pager,next" :total="total">
</el-pagination>

<div class="show-choose-data">
  //显示用户选中的所有数据   {{multipleSelectionAll }}
</div>
<!--  js 代码  -->
假定 我们选中的数据赋值给变量  multipleSelectionAll 

首先: 在请求 tableData 数据的function 中做的一些操作:

      requestTableData:function(){
          //请求回来数据后,进行两次循环,循环tableData 以及 multipleSelectionAll
          this.tableData.forEach((item,i)=>{
               this.multipleSelectionAll.forEach((multItem,j)=>{
                   if(this.tableData[i].某id值 == this.multipleSelectionAll[j].某id值){
                      this.$refs.multipleTable.toggleRowSelection(this.tableData[i],true);//这步操作是让  页面显示选中的数据
                  }
               })
          })
      },
      handleSelectionChange:function(val){
         this.multipleSelectionAll = val //这步是将页面选中的数据赋值给 multipleSelectionALL ,选中的数据都存储在这个变量里面
      },
      getRowKey:function(row){
         return row.某id值
      },
      handleSizeChange:function(val){
         //调用请求 tableData 数据的接口,size 变化
      },
      handleCurrentChange:function(val){
        //调用请求 tableData  数据的接口,currentpage 变化
      }

总结当前问题用到的知识点:

1、用到 table 中的 toggleRowSelection 方法: 用于多选表格,切换某一行的选择状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为true则选中) 参数为(row,selected) 。

2、用到 table中的事件selection-change ,当选择项发生变化时会触发该事件。(3-4)

原文地址:https://www.cnblogs.com/sunnyeve/p/12028756.html

时间: 2024-10-10 13:47:51

关于element 框架中table表格选中并切换下一页之前选中数据消失的问题的相关文章

关于html中table表格tr,td的高度和宽度

做网页的时候精到会遇到各种各样的问题,经常遇到的一个就是会碰到表格宽度对不齐的问题. 首先,来分析一下这三个标签中height和width的区别: 1.table中的width和height设置及其作用:table中设置的height其实是设置个最小值,也就是当表格中的内容或者行高总值超过这个设置值时,会自动延长表格的height值,当表格中的内容或者行高没有达到这个值时,会自动扩大到这个值.table中设置的width值一般为表格宽度的最大值,不能改变,即使内部的内容宽度超过也不能改变.(这个

web中table表格点击表头排序

保证在引用jQuery之后引用之后的两个文件 <script type="text/javascript" src="<%=basePath%>/resource/js/jquery-1.8.2.min.js"></script> <link rel="stylesheet" href="<%=basePath%>/tablesorter/themes/blue/style.css&

layui中table表格的操作列(删除,编辑)等按钮的操作

1 //编辑,删除,发布申请 2 table.on('tool(demo)', function(obj){ 3 var data = obj.data; 4 // console.log(data) 5 if(obj.event === 'check'){ 6 // console.log(data.id); 7 $('.textCon').val(""); 8 layer.open({ 9 title: '发布申请' 10 ,type: 1 11 ,maxmin:true 12 ,

element table初始化默认选中以及切换页码的时候保留选中状态

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- import CSS --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> </head> <body> <

Element ui 中的表格数据格式转换

原文地址:https://www.cnblogs.com/cwzqianduan/p/8663140.html

vue+iview中的table表格导出excel表格

一.iveiw框架中table中有exportCsv()方法可以导出.csv后缀文件,类似于excel文件,但是并不是excel文件. 二.实现table表格导出excel文件利用Blob.js 和 Export2Excel.js两个文件实现 1.Blob.js 和 Export2Excel.js文件 链接:https://pan.baidu.com/s/1PvP-NxmONNh71SRDvlL_9A 密码:3h82 2.把Blob.js 和 Export2Excel.js文件添加到src文件夹

vue如何循环渲染element-ui中table内容

对于大多数前端开发者来说,vuejs+element-ui是开发后台管理系统过程中必不可少的技术框架.而后台管理系统中,最常见的形式就是表格和表单,以便用来增删改查. element-ui中table的使用 ——当el-table元素中注入data对象数组后,在el-table-column中用prop属性来对应对象中的键名即可填入数据,用label属性来定义表格的列名.可以使用width属性来定义列宽. 相当于是要枚举出所有需要展示的参数,这种情况在参数比较少的情况下是比较方便的,但是在有很多

Element ui 中使用table组件实现分页记忆选中

我们再用vue和element-ui,或者其他的表格的时候,可能需要能记忆翻页勾选,那么实现以下几个方法就ok了 首先定义个data值 data () { return { multipleSelectionAll: [], // 所有选中的数据包含跨页数据 idKey: 'personId' // 标识列表数据中每一行的唯一键的名称(需要按自己的数据改一下) } } 方法中定义以下: methods : { // 设置选中的方法 setSelectRow() { if (!this.multi

HTML中的表格,表单,及框架

<h1>表格</h1> <table>表格的属性</table> width:表格的宽度,可以用像素或百分比表示 border:边框,常用值是0 cellpadding:内容跟单元格边框的边距,常用值是0 cellpadding:单元格之间的间距,常用值是0 align:表格在页面中的对齐方式 bgcolor:表格的背景色 background:表格的背景图片 <tr>行</tr> align:一行的内容的水平对齐方式 valign: