概述
树
即为无限层级,无限节点。大致应用场景为:文件夹目录,组织架构等带有明显层级关系的业务场景。本文说明了一些自己在实现树组件的一些思考和优化(jsx
)。
设计
每一个节点都可以认为是拥有同样的功能,即 每一个节点都是在渲染相同的组件。从这一点触发,树组件拆分为两个组件,一个是Tree
入口组件,一个是Node
叶子组件。
Tree
组件负责处理公共数据、方法,以及初始化时组件需要内置的一些数据。并向外暴露标准APINode
组件负责渲染真实的节点,并且递归渲染自身。
优化
- 在入口组件初始化时,遍历整个树形数据,为每一个子节点绑定其父节点引用。目的是为了在更新节点选中状态时,获取当前引用,反向遍历更新节点状态
- 子组件状态变更时,根据变更的状态以及节点自身的属性(是否是父级节点)触发不同的事件,做到父节点向下捕获,子节点向上冒泡
拓展
- 使用
v-if
去渲染子组件,懒加载 - 懒加载时组件的状态怎么同步,何时同步,怎么优化同步?
链接
optimization-ui
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!