vue + element Table的数据多选,多页选择数据回显,分页记录保存选中的数据。

博客介绍了前端开发中利用缓存进行回选记录的方法。在HTML的el - table添加特定事件,在JS里进行回选操作,包括点击选择或全选、缓存当前页码,还能在跳转页面时勾选已选商品,最后鼓励关注前端面试题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、html

在el-table添加 @selection-change=“handleSelection”

  <el-table ref="multipleTable"  :data="goodslist" tooltip-effect="dark"  @selection-change="handleSelection" >
            <el-table-column type="selection" width="55"></el-table-column>
            <el-table-column label="序号" width="60" fixed="left"><template slot-scope="scope">{{ scope.$index }}</template></el-table-column>
            <el-table-column prop="productName" label="商品名称" width="150"></el-table-column>
 </el-table>

2、js

这是回选操作

 methods: {
    toggleSelection(rows) {
      console.log('rows',rows)
      if (rows) {
        rows.forEach(row => {
          // this.$refs.multipleTable.toggleRowSelection(row)
          this.$nextTick( ()=> {this.$refs.multipleTable.toggleRowSelection(row);})
        });
      } else {
        this.$refs.multipleTable.clearSelection();
      }
    },

}

点击选择或全选 。 this.current 是当前页码, 然后进行缓存


    handleSelection(val) {
      this.multipleSelection = val;
      this.multipleSelectall[this.current] = val
      sessionStorage.setItem('multipleSelectall',JSON.stringify( 		this.multipleSelectall) )
    },

// 跳转页面时勾选已选的商品

setselect(){
  var {goodslist}=this
  var multipleSelectall= sessionStorage.getItem('multipleSelectall' )
  var multipleSelectalls=JSON.parse(multipleSelectall)

  var newarr=multipleSelectalls[this.current]
  if(!multipleSelectalls)return
  if(!newarr.length)return
  var arr=[]
  goodslist.filter(res=>{
    newarr.filter(row=>{if(row.id==res.id)arr.push(res)})
  })
  this.multipleSelectall=multipleSelectalls
  if(multipleSelectalls[this.current])this.toggleSelection(arr)
},

点击分页

handleCurrentChange(val) {
  this.current=val
  //请求数据
  
   search('请求参数').then(res => {
        this.goodslist=res.data.records
        this.total=res.data.total
        this.setselect()
      });
},

这是利用缓存进行会选记录

喜欢的关注前端面试题哟

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端技术栈

支持鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值