tree回显问题
问题描述1、el-tree 勾选反显原本整个父子节点都勾选状态新增一个子节点因为父节点是全选状态所以新增的子节点也呈勾选状态实际是未勾选状态。2、用的是default-checked-keys 回显数据更新后必须在 $nextTick 中调用 setCheckedKeys这样才能确保树组件正确回显勾选状态。解决思路问题原因解决方案回显不生效default-checked-keys 非响应式使用 setCheckedKeys设置时机不对DOM 未渲染完成包裹在$nextTick中传了父节点 id父节点会强制全选并级联勾选所有子节点只传叶子节点 id 给 setCheckedKeys核心逻辑先处理子节点再根据子节点状态回推父节点只传叶子节点 id 给 setCheckedKeys父节点状态由组件自动计算markTreeChecked返回的是树数据本身不会影响setCheckedKeys的行为这样即使后端返回的数据中新增了子节点父节点也能正确呈现半选状态。htmlel-tree:datalistshow-checkbox node-keyidreftreedefault-expand-all:props{label: name,value: id}/el-tree获取数据及回显调用created 或 mounted// 获取树的数据getMenuTree().then(res{this.listres.data.data;// 获取已勾选的数据idreturngetEchoData();}).then(res{// 处理回显letmenuIds[];if(res.data.data.menuIdsres.data.data.menuIds.length0){menuIdsres.data.data.menuIds.split(,);}// 根据返回的 menuIds 处理树数据标记每个节点的选中状态用于界面展示this.markTreeChecked(this.list,menuIds);this.$nextTick((){if(this.$refs.tree){// 只传叶子节点 id避免父节点强制全选constleafIdsthis.filterLeafIds(this.list);this.$refs.tree.setCheckedKeys(leafIds);}});});methods// 递归标记树节点的选中状态markTreeChecked(treeData,checkedIds){treeData.forEach(node{if(node.childrennode.children.length0){// 先处理子节点constchildCheckedCountthis.markTreeChecked(node.children,checkedIds);// 根据子节点选中数量计算当前父节点状态constallCheckedchildCheckedCountnode.children.length;constnoneCheckedchildCheckedCount0;node.checkedallChecked;node.halfChecked!allChecked!noneChecked;}else{// 叶子节点直接判断是否在选中列表中node.checkedcheckedIds.includes(node.id);}});}// 收集所有选中的叶子节点 idfilterLeafIds(treeData){constleafIds[];consttraverse(nodes){nodes.forEach(node{if(node.childrennode.children.length0){traverse(node.children);}elseif(node.checked){leafIds.push(node.id);}});};traverse(treeData);returnleafIds;}

相关新闻

CRAG技术解析:检索增强生成的动态纠正机制

CRAG技术解析:检索增强生成的动态纠正机制

1. CRAG技术概述:检索增强生成的进化方向CRAG(Corrective Retrieval Augmented Generation)是检索增强生成(RAG)技术的最新演进形态,它通过引入动态纠正机制,显著提升了传统RAG系统的准确性和可…

2026/7/24 11:53:59 阅读更多 →
基于NLP与规则引擎的财务审计辅助系统构建与实践

基于NLP与规则引擎的财务审计辅助系统构建与实践

在金融审计领域,审计人员每天需要处理海量的财务报告、交易记录和公司公告,其中可能混杂着错误信息、刻意隐瞒或数据矛盾。传统审计流程高度依赖人工核对和抽样检查,面对复杂业务和庞大数据量时,容易遗漏关键风险点。一个能够自动…

2026/7/24 11:53:59 阅读更多 →
天辛大师浅谈AI时代的修行,文科生是要有点人文精神的

天辛大师浅谈AI时代的修行,文科生是要有点人文精神的

AI时代的文人精神话说丙午年仲夏,齐鲁之地有个秀才,姓孔名墨,字子规,乃是至圣先师嫡传后裔。此人自幼饱读诗书,尤爱《儒林外史》,常叹吴敬梓笔锋如刀,刺透士林虚伪。这年深秋,孔墨赴…

2026/7/24 11:53:59 阅读更多 →

最新新闻

大模型应用开发:程序员转型的新机遇与实战路径

大模型应用开发:程序员转型的新机遇与实战路径

1. 为什么大模型应用开发成为程序员的新机遇三年前还在讨论微服务架构和云原生转型,现在技术风向已经彻底转向AI优先。我最近面试了二十多位来自不同背景的开发者,发现一个明显趋势:掌握大模型应用开发能力的人,薪资普遍比同资历传…

2026/7/24 12:00:00 阅读更多 →
基于改进Sparse R-CNN的冰球目标检测与轨迹预测技术

基于改进Sparse R-CNN的冰球目标检测与轨迹预测技术

1. 项目背景与核心价值 冰球运动作为一项高速对抗性竞技项目,其比赛过程中目标检测与识别一直存在技术难点。传统基于人工标注的赛事分析方式效率低下,而常规目标检测模型在应对小尺寸、高速移动的冰球时往往表现不佳。这个项目通过改进Sparse R-CNN框架…

2026/7/24 12:00:00 阅读更多 →
智能质检AI助手架构设计的10个致命错误与解决方案

智能质检AI助手架构设计的10个致命错误与解决方案

1. 智能质检AI助手架构概述 质检环节一直是制造业和互联网内容生产中最耗费人力的环节之一。传统人工质检不仅效率低下,还存在主观性强、标准不统一等问题。智能质检AI助手通过计算机视觉、自然语言处理等技术,能够实现724小时不间断工作,大幅…

2026/7/24 12:00:00 阅读更多 →
Linux链接器错误:找不到-lxxx的全面解决方案

Linux链接器错误:找不到-lxxx的全面解决方案

1. 问题现象与背景解析最近在Linux环境下编译安装软件时,不少开发者都遇到过这样的报错信息:/usr/bin/ld: 找不到 -lxxx collect2: error: ld returned 1 exit status这个看似简单的链接器错误,实际上可能由多种原因导致。作为在Linux系统开发…

2026/7/24 12:00:00 阅读更多 →
大模型流式推理

大模型流式推理

目录 http 流式推理 直接返回 http 流式推理 ocr_stream_client.py # codingutf-8 import base64 import json import os import urllib.request import logging import logging.handlers from pathlib import Path from typing import Optional, List, Dict, Any, AsyncGe…

2026/7/24 12:00:00 阅读更多 →
告别论文难题:2026年亲测好用的AI论文写作平台大推荐

告别论文难题:2026年亲测好用的AI论文写作平台大推荐

在撰写期刊论文、毕业论文或职称论文的过程中,学术人员常常会遇到许多挑战。撰写一篇优质的论文,面对海量的文献资料,寻找相关的信息就像在沙滩上捡贝壳一样难;繁琐的格式要求经常让人感到无从下手,精力涣散&#xff1…

2026/7/24 11:59:00 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻