vxe-table多选表格设置父子树形结构不关联并实现全选

vxe-table树形结构通过checkStrictly:true 设置父子节点不互相关联,默认不显示头部复选框

如果需要显示头部复选框需要设置showHeader:true

设置checkStrictly为true的时候全选功能是没法使用的,需要我们手动写一个表头的复选框

treeCheckBox默认设置为false,表示复选框未被选中状态

treeCheckBox默认设置为null,表示有子项选中

treeCheckBox默认设置为true,表示全部选中

 <vxe-table-columntype="checkbox":width="80"fixed="left":tree-node="true"field="treeNode"><!-- checkbox不联动的时候设置全选按钮,vxe-table不联动全选不能使用 --><template #header><vxe-checkboxv-model="treeCheckBox":indeterminate="treeCheckBox == null"@change="treeCheckBoxChange"></vxe-checkbox></template></vxe-table-column>

 重写全选框,全选框的状态也需要自动实现,重写全选框后@checkbox-all无法使用,使用@checkbox-change实现全选框的显示状态

selectChangeEvent({records}) {if (records.length >= this.tableData.length) {this.treeCheckBox = true} else if (records.length > 0) {this.treeCheckBox = null} else {this.treeCheckBox = false}}},

checkStrictly:true的情况下,setAllCheckboxRow无法使用,只能使用setCheckboxRow方法,全选涉及到子行无法选中,又进行了遍历实现子行选中

// 设置手动全选treeCheckBoxChange({ checked }) {if (checked) {this.$refs.xTable.setCheckboxRow(this.tableData, true);this.setAllCheckboxRow(this.tableData, true);} else {this.$refs.xTable.clearCheckboxRow()}this.selectRecords = this.tableData;},// 处理子结构的全选setAllCheckboxRow(nodes, checked) {nodes.forEach(node => {node.checked = checked;if (node.children && node.children.length > 0) {this.$refs.xTable.setCheckboxRow(node.children, true)}});},

整体相关逻辑如下: 

<template><div><vxe-tableref="xTable":data="tableData"row-keycolumn-keyshow-overflowshow-header-overflowsize="mini"highlight-hover-row:height="heightSize"row-id="rowId"auto-resizekeep-sourcetype="checkbox":checkbox-config="{ checkStrictly: true, showHeader: true }":tree-config="{ childrenField: 'children', indent: 10 }"@checkbox-change="selectChangeEvent"><vxe-table-columntype="checkbox":width="80"fixed="left":tree-node="true"field="treeNode"><!-- checkbox不联动的时候设置全选按钮,vxe-table不联动全选不能使用 --><template #header><vxe-checkboxv-model="treeCheckBox":indeterminate="treeCheckBox == null"@change="treeCheckBoxChange"></vxe-checkbox></template></vxe-table-column><vxe-table-column> ..... </vxe-table-column></vxe-table></div>
</template><script>
export default {name: 'Untitled-1',props: {},components: {},data() {return {tableData: [{id:1,name:1,children:[{id:1,name:1}]}]}},computed: {},watch: {},created() {},mounted() {},methods: {// 设置手动全选treeCheckBoxChange({ checked }) {if (checked) {this.$refs.xTable.setCheckboxRow(this.tableData, true);this.setAllCheckboxRow(this.tableData, true);} else {this.$refs.xTable.clearCheckboxRow()}this.selectRecords = this.tableData;},// 处理子结构的全选setAllCheckboxRow(nodes, checked) {nodes.forEach(node => {node.checked = checked;if (node.children && node.children.length > 0) {this.$refs.xTable.setCheckboxRow(node.children, true)}});},// 设置全选框的状态selectChangeEvent({records}) {if (records.length >= this.tableData.length) {this.treeCheckBox = true} else if (records.length > 0) {this.treeCheckBox = null} else {this.treeCheckBox = false}}},},
}
</script><style scoped></style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/288234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kali-WinRaR实验~钵钵鸡

文章目录 钵钵鸡实验环境钵钵鸡实验效果一、宏代码注入二、WinRaR高级配置 钵钵鸡实验环境 WinRaR docm文档 mp3音乐文件 钵钵鸡实验效果 WinRaR实验~钵钵鸡 一、宏代码注入 宏代码注入&#xff1a; 宏代码通常是在文档内使用宏语言&#xff08;如Microsoft Office中的VBA…

java之HikariCP连接池介绍和使用方法 简单易懂!!!

文章目录 &#x1f60e;一、HikariCP连接池介绍&#x1f60e;二、导入的jar包&#x1f60e;三、代码演示&#x1f9e8;Properties配置文件&#x1f9e8;使用配置文件连接&#x1f9e8;运行结果 &#x1f60e;四、总结 ✨前言&#xff1a;本章主要学习hikaricp连接池的介绍以及使…

DDR模块电路的PCB设计建议

DDR电路简介 RK3588 DDR 控制器接口支持 JEDEC SDRAM 标准接口&#xff0c;原理电路16位数据信号如图8-1所示&#xff0c;地址、控制信号如图8-2所示&#xff0c;电源信号如图8-3所示。电路控制器有如下特点&#xff1a; 1、兼容 LPDDR4/LPDDR4X/LPDDR5 标准&#xff1b; 2、…

【Matlab算法】随机梯度下降法 (Stochastic Gradient Descent,SGD) (附MATLAB完整代码)

随机梯度下降法 前言正文代码实现可运行代码结果 前言 随机梯度下降法 (Stochastic Gradient Descent&#xff0c;SGD) 是一种梯度下降法的变种&#xff0c;用于优化损失函数并更新模型参数。与传统的梯度下降法不同&#xff0c;SGD每次只使用一个样本来计算梯度和更新参数&am…

在极狐GitLab 上使用 DVC 实现简单机器学习

前言 之前我们已经讨论过机器学习领域的相关概念和细节&#xff08;参考公众号文章 MLOps在极狐GitLab 的现状和前瞻)&#xff0c;我们知道构建一个机器学习驱动的应用程序面临许多困难和挑战&#xff0c;比如&#xff1a;数据漂移、模型架构的变化或推理延迟等等。这些都是模…

企业u盘禁止访问如何解锁

如果您遇到了U盘禁止访问的问题&#xff0c;可能是由于系统设置、安全策略或第三方工具导致的。以下是一些可能的解锁方法&#xff0c;具体的操作可能因具体情况而异&#xff1a; 管理员权限&#xff1a; 确保您有足够的管理员权限来解锁U盘。有时&#xff0c;系统管理员或安全…

VMware Workstation Pro16安装centos7.8教程,centos7.8全程安装记录

1、创建虚拟机 2、选择操作系统安装包&#xff0c;勾选稍后再安装系统或者立即安装 3、选择客户机操作系统&#xff0c;选择linux和系统版本centos7 64位 4、命名虚拟机和选择安装位置&#xff0c;这里不建议安装在默认的系统盘c盘 5、点击下一步&#xff0c;指定磁盘大小&…

高性能3D Web轻量引擎HOOPS SDK助力制造业信息共享与协同!

工程软件开发工具包的提供者Tech Soft 3D宣布&#xff0c;Eurostep已将HOOPS Communicator和HOOPS Exchange集成到其旗舰制造协作产品ShareAspace Design to Manufacturing中&#xff0c;旨在为客户提供更多3D功能。 “我们与ShareAspace Design to Manufacturing的共同目标是…

变分自编码器【02/3】:训练过程

一、说明 欢迎来到我们的变分自编码器 (VAE) 系列三部分的第二部分。基于第 1 部分中介绍的介绍和实施细节&#xff0c;本部分将重点关注微调这些模型不可或缺的培训程序。我们将深入探讨每个参数的重要性以及它们对训练过程的贡献。要访问本系列的完整代码&#xff0c;请访问我…

Android的基础开发

基础开发 listView ListView就是列表条目&#xff0c;可以向下滚动&#xff0c;也可以点击。 首先设置两个视图布局 activity_main2.xml【充当容器{ListView}】 <ListViewandroid:layout_width"match_parent"android:layout_height"match_parent"a…

邮政快递单号查询入口,标记需要的单号记录

批量查询邮政快递单号的物流信息&#xff0c;对需要的单号记录进行标记。 所需工具&#xff1a; 一个【快递批量查询高手】软件 邮政快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;并登录 步骤2&#xff1a;点击主界面左上角…

生信学院|12月22日《快速产品图像渲染》

课程主题&#xff1a;快速产品图像渲染 课程时间&#xff1a;2023年12月22日 14:00-14:30 主讲人&#xff1a;陈伟 生信科技 售后服务工程师 1、SOLIDWORKS Visualize介绍 2、操作演示 3、答疑 请安装腾讯会议客户端或APP&#xff0c;微信扫描海报中的二维码报名哦~~~ 或…