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

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

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()
      });
},

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

喜欢的关注前端面试题哟

WX搜索 【MST题库】小程序查看

相关文章
|
25天前
|
缓存 JavaScript UED
Vue3中v-model在处理自定义组件双向数据绑定时有哪些注意事项?
在使用`v-model`处理自定义组件双向数据绑定时,要仔细考虑各种因素,确保数据的准确传递和更新,同时提供良好的用户体验和代码可维护性。通过合理的设计和注意事项的遵循,能够更好地发挥`v-model`的优势,实现高效的双向数据绑定效果。
126 64
|
1月前
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
1月前
|
JavaScript 数据管理 Java
在 Vue 3 中使用 Proxy 实现数据双向绑定的性能如何?
【10月更文挑战第23天】Vue 3中使用Proxy实现数据双向绑定在多个方面都带来了性能的提升,从更高效的响应式追踪、更好的初始化性能、对数组操作的优化到更优的内存管理等,使得Vue 3在处理复杂的应用场景和大量数据时能够更加高效和稳定地运行。
62 1
|
1月前
|
JavaScript 开发者
在 Vue 3 中使用 Proxy 实现数据的双向绑定
【10月更文挑战第23天】Vue 3利用 `Proxy` 实现了数据的双向绑定,无论是使用内置的指令如 `v-model`,还是通过自定义事件或自定义指令,都能够方便地实现数据与视图之间的双向交互,满足不同场景下的开发需求。
63 1
|
2月前
|
API
vue3知识点:响应式数据的判断
vue3知识点:响应式数据的判断
30 3
|
28天前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
1月前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
|
4天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
1月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
36 1
vue学习第一章
|
1月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
27 1
vue学习第三章