当前位置: 首页 > news >正文

【多选框、表格全选】element el-checkbox、el-table

话不多说 先看效果:
多选框:
请添加图片描述
表格全选:
请添加图片描述

<template><div><div class="titleLabel"><div class="lineStyle"></div>统计部门</div><div style="display: flex"><el-checkboxstyle="margin-right: 20px":indeterminate="isIndeterminate"v-model="departmentCheckAll"@change="handleCheckAllChange">全选</el-checkbox><el-checkbox-groupv-model="selectedItems"@change="handleCheck(selectedItems)"><el-checkboxv-for="item in department":key="item.id":label="item.id">{{ item.name }}</el-checkbox></el-checkbox-group></div><div><el-tabs v-model="form.pageTab" @tab-click="changeTab"><el-tab-pane name="1"><div slot="label">已关联({{sumAll['rel']}}</div></el-tab-pane><el-tab-pane name="0"><div slot="label">未关联({{sumAll['notRel']}}</div></el-tab-pane></el-tabs><el-table :data="tableData" stripe border :header-cell-style="{'text-align':'center'}" size="small" ref="table"@selection-change="handleChange" :row-key="row=>row.id"><el-table-column type="selection" :reserve-selection="true" :selectable="selectableAll" align="center"></el-table-column><el-table-column label="单位名称" align="center" prop="name"></el-table-column><el-table-column label="统一社会信用代码" align="center"></el-table-column></el-table><br><!-- 分页--><el-form :inline="true"><el-form-item ><div v-if="where"><span v-if="!selectAll">已选:{{ relIds.length }}/{{ total }}</span><span v-else> 已选:{{ total }}/{{ total }} </span><span><el-buttonstyle="margin-left: 10px"type="primary"v-if="!selectAll"plainsize="small"@click="all()">全选所有</el-button><el-buttonstyle="margin-left: 10px"type="primary"v-elseplainsize="small"@click="all()">取消全选</el-button></span></div></el-form-item><el-form-item style="float: right"><!-- 分页--><el-paginationalign="right"backgroundlayout="prev, pager, next,total":current-page.sync="form['pageNum']":page-size.sync="form['pageSize']"@current-change="jump"@size-change="resize":total="total"></el-pagination></el-form-item></el-form></div></el-dialog></div>
</template><script>
import { departmentList } from "@/api/assets/assetArchives";
export default {data() {return {form: {},dialogVisible: false,isIndeterminate: false,department: [], //部门departmentCheckAll: false,selectedItems: [],relIds:[],total:0,selectAll:false, //表格是否全选};},methods: {show() {this.departmentList();this.dialogVisible = true;},departmentList() {departmentList({ type: "INNER", pagination: false }).then((data) => {this.department = data["items"];// this.selectedItems = [132,51] //回显选中的部门(到时候应该是把check为true的id筛选出来)});},handleCheck(value) {let checkedCount = value.length;this.departmentCheckAll = checkedCount === this.department.length;this.isIndeterminate =checkedCount > 0 && checkedCount < this.department.length;},handleCheckAllChange(val) {this.selectedItems = val? this.department.map((item) => {return item.id;}): [];this.isIndeterminate = false;},//选择handleChange(val) {let arr = []val.map(item => {arr.push(item.id)})this.relIds = arr;},//全选all() {let title = this.selectAll ? "取消默认全选" : "默认全选";this.$confirm("此操作将" + title + "所有,是否确认继续?", "提示", {confirmButtonText: "确定",cancelButtonText: "取消",type: "warning",}).then(() => {// 全选表格中的所有数据this.selectAll = !this.selectAll;if (this.selectAll) this.toggleSelection(this.tableData);else this.toggleSelection();});},//点击全选时  默认不能进行修改selectableAll() {return !this.selectAll;},//选中状态标志toggleSelection(rows) {if (this.relIds) this.$refs.table.clearSelection();if (rows) {rows.forEach((row) => {this.$refs.table.toggleRowSelection(row);});} else {this.$refs.table.clearSelection();}},//分页情况jump(e) {this.form.pageNum = e;this.list();},resize(e) {this.form.pageSize = e;this.list();},},
};
</script>
http://www.lryc.cn/news/95290.html

相关文章:

  • 【Java】微服务负载均衡算法实现
  • 分类、回归常用损失函数
  • SaaS到底是什么,如何做?这份笔记讲明白了
  • Python 单继承、多继承、@property、异常、文件操作、线程与进程、进程间通信、TCP框架 7.24
  • 【英杰送书第三期】Spring 解决依赖版本不一致报错 | 文末送书
  • ClickHouse修改和删除操作
  • 比selenium体验更好的ui自动化测试工具: cypress介绍
  • Python编译过程和执行原理
  • opencv 图像距离变换 distanceTransform
  • 消息队列——rabbitmq的不同工作模式
  • QT实现用户登录注册功能
  • Docker--harbor私有仓库部署与管理
  • idea复制一份web服务在不同端口启动
  • CRM系统化整合从N-1做减法实践 | 京东物流技术团队
  • STM32CUBUMX配置RS485(中断接收)--保姆级教程
  • 苹果iOS 16.6 RC发布:或为iPhone X/8系列养老版本
  • 【100天精通python】Day16:python 模块的搜索目录和导入模块异常时的处理方法
  • SOC FPGA介绍及开发设计流程
  • MySQL vs. Oracle: 函数比较与联系
  • 【Django学习】(十五)API接口文档平台_项目流程分析_日志器_认证_授权
  • 经营简报及考核360表格
  • Spring Security 构建基于 JWT 的登录认证
  • PyTorch从零开始实现Transformer
  • 运动蓝牙耳机什么牌子的好用、最好用的运动蓝牙耳机推荐
  • HTTP、HTTPS协议详解
  • 【算法与数据结构】222、LeetCode完全二叉树的节点个数
  • 登录和注册表单的11个HTML最佳实践
  • Mysql删除历史数据
  • Python—数据结构(一)
  • 离线环境安装flask依赖包