变量解释:

selectResult: [] // 选中的表格的id数据
tableData: [] // 表格数据
backAllData: [] // 从后端接口获取的所有的id
allCheck: [] // 全选状态
selectResultRow: [] // 选中的表格的全部数据

1.为了使得切换页面时,选中的数据仍然保留,所以使用localStorage进行存储,这里只存选中的数据的id(唯一值)。

2.多选框选中或者取消

handleSelectionChange(val) { // 多选框选中取消操作this.tableData.map(item => { // 当选中全选的复选框时(当前页的表格已经被选中了),判断是否有取消的行if (this.selectResult.includes(item.secId)) {const index = this.selectResult.indexOf(item.secId)this.selectResult.splice(index, 1)}})val.map(item => { // 选中的行加进去if (!this.selectResult.includes(item.secId)) {this.selectResult.push(item.secId)}})this.$nextTick(() => {storage.set('selectId', JSON.stringify(this.selectResult))})
}

3.如果表格上方有一个全选按钮,用于选中该页的所有行

checkAll(val) { // 点击全选按钮,全选当页所有的数据,val为true表示选中if(val) {this.toggleSelection() // 先清除所有选中的数据this.selectResult = this.backAllData // 获取所有的idthis.$nextTick(() => {this.toggleSelection(this.tableData) // 将当前页的数据进行选中})} else {this.selectResult = []this.toggleSelection()}
},
toggleSelection(rows) {if(rows) {rows.forEach(row => {this.$refs.multipleTable.toggleRowSelection(row)})} else {this.$refs.multipleTable.clearSelection()}
}

4.请求数据后对页面的数据进行回显

this.selectResultRow = []
request.search(data).then((res) => { // 从后端获取数据if (res.data.respCode === 200) {this.tableData = []this.total = res.data.result.totalCount  // 获取表格中所有的数据res.data.result.data.map(item => {const tableDataList = {...}this.tableData.push(tableDataList)})this.tableData.map(item => {if (this.allCheck) { // 全选按钮如果选中,则将数据放在备选数组中,进行页面选中或者取消的计算this.selectResultRow.push(item)} else { // 如果没选中,则进行判断if (this.selectResult.includes(item.secId)) {this.selectResultRow.push(item)}}this.selectResult = Array.from(new Set(this.selectResult))})if (this.selectResult.length !== this.backAllData.length) {this.allCheck = false} else {this.allCheck = true}this.$nextTick(() => { // 页面回显this.toggleSelection(this.selectResultRow)})}
})

Element表格多选框相关推荐

  1. javascript 计算器、动态时钟、表格复选框全选(扩展)、轮播图、36选7、随机数...

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. easyui前端实现多选框_前端:Element UI 多选框组用法笔记

    今天给大家分享一下Element UI 多选框组用法笔记,直接上代码! "兴趣爱好:"> "form.checkList"> for= {{item ...

  3. 前端:Element UI 多选框组用法笔记

    今天给大家分享一下Element UI 多选框组用法笔记,直接上代码! <html><head></head><body><el-form> ...

  4. LayUI数据表格复选框显示不居中问题

    LayUI数据表格复选框显示不居中问题 样式(layui.css)文件中增加: .layui-table-cell .layui-form-checkbox[lay-skin="primar ...

  5. element表格勾选获取序号

    element表格勾选获取序号 如图,这里有一个需求是勾选某一项为其进行排序,首先需要将原来的序号回显,所以在element的勾选表格的操作中需要获得index值? 查了一下没有在官方文档找到类似于$ ...

  6. layui表格复选框赋值,获取表格复选框选中值,表格复选框回选

    layui获取表格复选框提交/回选 表格JS table.render({elem: '#app-from',id: 'app-from',url: '/plm/api/employee/listBy ...

  7. Easyui 表格中复选框设置单选

    Easyui 表格中复选框设置单选 单设置singleSelect:true 是不行的,一定还要在data-options中设置 data-options="singleSelect:tru ...

  8. html表格中复选框代码怎么写,获取html表中的选中复选框

    我已经制作了如下表格. 在脚本标签中: $(document).ready(function() { $("#addSelected").live("click" ...

  9. layui 实现表单、表格中复选框checkbox的全选功能

    一.layui 实现表单中多选框的全选功能,代码如下: //html页面表单 <form class="layui-form"><div class=" ...

最新文章

  1. leetcode-160-相交链表(simple)
  2. 动态多尺度图表达3D人体骨架运动,实现精准预测效果超SOTA
  3. linux无文件渗透执行elf
  4. adt+选择android+sdk,eclipse+adt+android SDK 开发搭建环境中遇到的问题
  5. 基于 FPGA 的数字抢答器设计
  6. ae中心点重置工具_7步学习AE 入门篇 第2步 初学乍练
  7. (7)FPGA十大设计思想(第2天)
  8. AtCoder Beginner Contest 171 E - Red Scarf
  9. 区块链 交易怎么验证是否被篡改 SPV验证
  10. 327.区间和的个数
  11. frm考试可以用计算机,FRM考试,能用哪些金融计算器?(内含用法功能全解读)...
  12. 使用决策树算法对Iris数据构建决策树
  13. 红外解码软件 android,红外线遥控器软件解码程序(能解大部分遥控器的编码)
  14. 干货 | Spark Streaming 和 Flink 详细对比
  15. C语言报错:「error」Id returned 1 exit status
  16. 惠普m202dw_HP LaserJet Pro M202dw 激光打印机
  17. Mounty for NTFS-让你的Mac OS M1可以正确读写NTFS文件系统
  18. Java 读取Word标题(目录)
  19. LoRa 数据速率,码片速率,符号速率
  20. insert into bak select * from test会锁表吗

热门文章

  1. 立足互联网保险发展趋势,元保保险提出未来发展新思路
  2. JavaScript-JS是什么,有什么用
  3. 申威芯片可于服务器,一种基于申威芯片的国产服务器主板的实现方法
  4. 超全的数组去重12种方法
  5. 转载Fedora安装gtk3环境的方法
  6. java创建数组的方式_Java创建数组的几种方式总结
  7. 极客头条8月份活跃成员奖励名单(20150909)
  8. linux常中的cat命令,cat命令-linux常用命令cat用法详解
  9. Dota游戏中的护甲分析
  10. SpringBoot+Vue项目计算机等级考试报名系统