ant-design Tree树形控件,通过expandedKeys控制收缩或折叠失效
一、概述
Ant Design的树形组件Tree,通过属性expandedKeys手动控制组件的展开和收缩时,点击节点后更新expandedKeys属性值可以正常展开,再点击左侧三角形小图标时(onExpand)却不能收缩了。
二、问题分析
a. 根据以往经验,出现keys的问题,一般是由key的数据重复或类型(尤其 Number 和 String 混用)不统一造成的。
b. 官方给出的方法钩子是异步的,造成钩子函数里的数据操作受影响(要么在拿到预期值之前就赋值,要么赋值之后还没更新完视图再次被更新)。这时,就要确保预期值的实时更新。
很显然,a选项很容易排查,本人经历的bug也不是a选项造成。那么,b选项该怎么解决? 如下图:
动态控制展开与收缩的钩子函数
虽然赋值的数据是一样的,但是只有采用后者的处理方式才可以解决该问题! ^_^
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类