基于Ant Design Tree 实现的最末端叶子节点横向显示

由于项目需要,需要让树状菜单的最后一层级横向展开显示。项目UI使用的是Ant Design,查阅了Ant Design Tree的API,目前是不支持我们所需要实现的效果。

查阅了网上的一些解决方案,有的是换组件,有的是解决了所有叶子节点横向显示,由于不想引用过多的第三方组件,简单利用Ant Design的Tree组件早了这个轮子,一般可以用作权限管理等功能使用。

解决思路:

1. 如何解决Ant Design 的横向显示问题。

解析Tree的结构,发现是一个Flex的容器,容器子节点使用column方式排列,改成row试试,哎哟,果然横向排列了。好了,第一个问题就这么解决了。

2. 如何判断最后一个节点。

这个问题就简单了,因为数据结构是自己定义的,那么就直接写个方法,判断节点下面的children是不是都为空,或者长度为0即可。

3. 性能问题。

在某个节点下新增1000个横向展开的节点,展开/关闭大约要1.5秒的时间,如果能关闭动画应该会更快点,只不过Ant Design Tree目前还没有找到好的关闭展开动画的方法,如果有朋友知道,烦请告知一下。

勾选/不勾选 的性能很受checkbox复选框的影响。把checkbox复选框的动画效果去掉,能从1.5秒提高到1秒左右。

先占个位置,后继补上代码。。。

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值