vue 使用ElementUI 在表格外设置全选的多选框
未选择状态:
未全选状态:
全选状态:
二、代码实现
data:
data(){ return{ //数据 tableData:[], /*全选的问题 */ multipleSelection: [], isIndeterminate: false, //表格外全选 checkAll: false, } }
表格外全选功能的多选框:
<el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange" style="margin-right: 30px" > <span class="qxText"> 全选本页(已选{ { this.multipleSelection.length }}个) </span> </el-checkbox>
表格内的多选:
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" :cell-style="{ font-size: 12px }" :header-cell-style="{ background: #f9f9f9, font-size: 12px, line-height: 18px, color: #767989, }" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="40"> </el-table-column> </el-table>
表格外全选方法:
// 点击外部全选 handleCheckAllChange(val) { this.checkAll = val; var rows = this.tableData; var value = val ? rows : []; console.log(this.$refs.multipleTable); if (val) { rows.forEach((row) => { this.$refs.multipleTable.toggleRowSelection(row); }); } else { this.$refs.multipleTable.clearSelection(); } console.log(this.multipleSelection); }
表格内点击:
// 表格内点击多选框 handleSelectionChange(val) { console.log(val); let checkedCount = val.length; this.checkAll = checkedCount === this.tableData.length; this.isIndeterminate = checkedCount > 0 && checkedCount < this.tableData.length; this.multipleSelection = val; },
上一篇:
IDEA上Java项目控制台中文乱码