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

小型网站搭建临海做网站公司

小型网站搭建,临海做网站公司,乐山电商网站开发,wordpress新页面代码完美解决ElementUI中树形结构table勾选问题 实现功能效果图全选取消全选取消父节点取消某个子节点 关键代码 实现功能 1. 全选/取消全选,更新所有节点勾选状态 2. 勾选父/子节点,子/父节点状态和全选框状态更新 效果图 全选 取消全选 取消父节点 取消某…

完美解决ElementUI中树形结构table勾选问题

  • 实现功能
  • 效果图
    • 全选
    • 取消全选
    • 取消父节点
    • 取消某个子节点
  • 关键代码

实现功能

1. 全选/取消全选,更新所有节点勾选状态
2. 勾选父/子节点,子/父节点状态和全选框状态更新

效果图

全选

在这里插入图片描述

取消全选

在这里插入图片描述

取消父节点

在这里插入图片描述

取消某个子节点

在这里插入图片描述

关键代码

这里是vue2写法,不管什么写法逻辑是一样滴!

<template><el-tableref="multipleTable"v-loading="loading"row-key="id":data="tableList":tree-props="{ children: 'children' }"@select-all="selectAll"@select="handleSelect"><el-table-column type="selection" width="55"> </el-table-column></el-table>
</template>
<script>
export default {methods: {// 递归设置子节点的勾选状态setChildrenSelection(children, selected) {if (!children || children.length === 0) return;children.forEach((child) => {this.$refs.multipleTable.toggleRowSelection(child, selected);this.setChildrenSelection(child.children, selected);});},// 更新父节点的勾选状态updateParentSelection(node) {if (!node || !node.pid) return; // 如果没有父节点,递归终止const parent = this.findNodeById(node.pid);if (!parent) return; // 如果父节点不存在,退出// 检查父节点的所有子节点是否都被勾选const allChildrenSelected = parent.children.every((child) =>this.$refs.multipleTable.selection.some((item) => item.id === child.id));// 根据子节点的勾选状态更新父节点的勾选状态this.$refs.multipleTable.toggleRowSelection(parent, allChildrenSelected);// 递归更新父节点的父节点this.updateParentSelection(parent);},// 根据 ID 查找节点findNodeById(id) {const stack = [...this.tableList];while (stack.length) {const node = stack.pop();if (node.id === id) return node;if (node.children && node.children.length) {stack.push(...node.children);}}return null;},// 勾选事件处理handleSelect(selection, row) {if (row.children && row.children.length) {// 如果当前节点有子节点,递归设置子节点的勾选状态const isCurrentSelected = selection.some((item) => item.id === row.id);this.setChildrenSelection(row.children, isCurrentSelected);}// 更新父节点的勾选状态this.updateParentSelection(row);},// 全选事件处理selectAll(selection) {this.tableList.forEach((row) => {const isRowSelected = selection.some((item) => item.id === row.id);this.$refs.multipleTable.toggleRowSelection(row, isRowSelected);// 递归设置子节点的勾选状态this.setChildrenSelection(row.children, isRowSelected);});},},
};
</script>
// 若想要获取表格选中的数据
const selectedRows = this.$refs.multipleTable.selection;

文章转载自:

http://svzgfoNh.knLyL.cn
http://acj3u678.knLyL.cn
http://BKGfjUvt.knLyL.cn
http://XSMub61v.knLyL.cn
http://8YfXOe8F.knLyL.cn
http://WKRU4kAF.knLyL.cn
http://x0LFlt93.knLyL.cn
http://XcqEQi8Y.knLyL.cn
http://UJPWlZ2m.knLyL.cn
http://wpU5CazP.knLyL.cn
http://YFSgjLZ7.knLyL.cn
http://CkHH5v63.knLyL.cn
http://S5ZbG15k.knLyL.cn
http://5sHE88Jn.knLyL.cn
http://FzimtZ2L.knLyL.cn
http://Sw29k3GU.knLyL.cn
http://Ge3rYE8f.knLyL.cn
http://BzQ4tQQL.knLyL.cn
http://oNb5Ep7N.knLyL.cn
http://jIqzF950.knLyL.cn
http://aHw3KSGW.knLyL.cn
http://9rX8dqNp.knLyL.cn
http://7eNW2V9R.knLyL.cn
http://94LgnaLt.knLyL.cn
http://ESZmZVLn.knLyL.cn
http://1GYwkcKg.knLyL.cn
http://p27kJHLn.knLyL.cn
http://V2sfU2el.knLyL.cn
http://aoe0OLku.knLyL.cn
http://dvY1rK7w.knLyL.cn
http://www.dtcms.com/wzjs/735540.html

相关文章:

  • 衡水哪有建网站的吗php网站开发环境一
  • 宝安专业网站设计多少钱如何学好js网站开发
  • 如何建立网站空间可以做彩字的网站
  • 网站图标下载wordpress友情联机
  • wordpress 前台登录美化汕头做网站优化哪家好
  • html 网站源码 卖手机有哪些网站可以接单做效果图
  • 做网站谁家做的好做网站经常用的字体有哪些
  • 彩票网站建设网站设计确认
  • 视频网站 做综艺 电视台开发青年网站
  • 二手书网站建设的意义学推广网络营销去哪里
  • 网站中转页怎么做怎么做坑人的网站
  • 陕西门户网站建设wordpress自带301
  • 效果好企业营销型网站建设上海市 建设执业资格注册中心网站
  • 宁波市市建设法规颁发网站东莞 外贸网站设计
  • 龙华个人网站建设源码网站python免费
  • wap网站服务器佛山建设外贸网站公司
  • 工业网站模板网站建设有哪些步骤
  • 淘宝的网站怎么做的好处广告公司企业网站模板
  • 宿迁网站建设流程网站备案 修改
  • idea可以做网站吗建网站公司郑州
  • ajax网站网页设计和网站开发的区别
  • 企业免费网站建设哪个品牌好官网开发多少钱一个
  • wordpress 网站播放器插件域名打不开原来的网站
  • 遵义营销型网站建设网站开发总结性报告
  • 公司网站开发主要技术了解网站的建设心得
  • php构建网站如何开始造价师注册管理系统
  • 郑州网站搜索排名网站建设优化工资高不
  • 企业产品展示网站源码自己有主机怎么做论坛网站
  • 南通网站建设总结高端制造股十大龙头
  • 毕节市城乡建设局网站整合网络营销外包