具体要实现的细节

  • 点击表头的复选项,会进行全选;再次点击,会取消;
  • 每次需要把选中该行的id传过去
  • 切换分页的时候,需要有记忆功能:也就是翻页原本选中的不应该消失 。下方图片展示:(展示的是所有的选中的,切换分页的)

第一步添加对应的复选框

在这里插入图片描述
在这里插入图片描述

具体参照element官网示例

`<el-table :data="tableData" ref="multipleTable" tooltip-effect="dark" @selection-change="handleSelectionChange" v-loading="listLoading" border  @cell-dblclick="celldblclick">` 

*   1

 `<el-table-column type="selection"></el-table-column>

  <el-table-column prop="id" label="编号"></el-table-column>

  <el-table-column prop="nameOne" label="名称1"></el-table-column>

  <el-table-column prop="nameTwo" label="名称2"></el-table-column>

</el-table>` 

*   1
*   2
*   3
*   4
*   5
*   6
*   7
*   8
*   9

第二步传id过去的话

这个是页面布局

`// 点击多选

    handleSelectionChange(val) {

      this.multipleSelection = val;

      this.batchPassArr = [] //每次点击需清空原本数组的内容

      this.multipleSelection.map(item => { //遍历数组,把id存进自定义的数组里

        this.batchPassArr.push(item.id)

      })

      this.batchPassArr = this.batchPassArr.join(',') 

    },` 

*   1
*   2
*   3
*   4
*   5
*   6
*   7
*   8
*   9
*   10
*   11
*   12
*   13
*   14
*   15
*   16
*   17

在这里插入图片描述

在这里插入图片描述

第三步对于切换分页

在表头那里<el-table :data="tableData" ref="multipleTable" tooltip-effect="dark" @selection-change="handleSelectionChange" v-loading="listLoading" border @cell-dblclick="celldblclick"></el-table>加个:row-key="(row)=>{ return row.id}"

 `也就是下面这个样子` 

*   1

`<el-table :data="tableData" ref="multipleTable" :row-key="(row)=>{ return row.id}" tooltip-effect="dark" @selection-change="handleSelectionChange" v-loading="listLoading" border  @cell-dblclick="celldblclick"></el-table>` 

*   1

在自己加的里面加个

`:reserve-selection="true"` 

*   1

也就是下面这个

`<el-table-column type="selection" :reserve-selection="true"></el-table-column>` 

*   1

在这里插入图片描述

在这里插入图片描述


棘丶
12 声望1 粉丝