ant-design Tree树形控件,通过expandedKeys控制收缩或折叠失效

一、概述

Ant Design的树形组件Tree,通过属性expandedKeys手动控制组件的展开和收缩时,点击节点后更新expandedKeys属性值可以正常展开,再点击左侧三角形小图标时(onExpand)却不能收缩了。

 

 

二、问题分析

a. 根据以往经验,出现keys的问题,一般是由key的数据重复或类型(尤其 Number 和 String 混用)不统一造成的。

b. 官方给出的方法钩子是异步的,造成钩子函数里的数据操作受影响(要么在拿到预期值之前就赋值,要么赋值之后还没更新完视图再次被更新)。这时,就要确保预期值的实时更新。

 

很显然,a选项很容易排查,本人经历的bug也不是a选项造成。那么,b选项该怎么解决? 如下图:

 

 动态控制展开与收缩的钩子函数

 虽然赋值的数据是一样的,但是只有采用后者的处理方式才可以解决该问题! ^_^

 

 

 

 

 

posted @ 2024-04-29 10:34  一只两支三指  阅读(514)  评论(0编辑  收藏  举报