System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及前端,尤其涉及一种树状结构的生成方法及装置。
技术介绍
1、在前端开发过程中,经常会用到树状结构来展示数据,树状结构可以很好地展示数据之间的关系,比如常见的组织架构图等,通过树状结构可以清晰的看到各个节点之间的关系。
2、目前,生成树状结构的方法是前端通过接口从服务端获取节点数据以及节点之间关系的数据,通过组件按子节点的父节点个数渲染树状结构图。例如:如图1所示,一个子节点同时有两个父节点,就会渲染成两个独立的树状结构。以此类推,多个子节点同时拥有多个父节点,就会渲染出多个独立树状结构,在页面上就会出现多个树状结构图。
3、但是,上述生成树状结构的方法只支持单个父节点的设计,在处理一个子节点同时拥有多个父节点的情况时,由于需要渲染成多个独立的树状结构,会导致树状结构的渲染次数较多,页面的渲染速度较慢,并且会出现数据之间的割裂的问题。
技术实现思路
1、鉴于上述问题,本专利技术提供一种树状结构的生成方法及装置,主要目的是为了实现减少树状结构的渲染次数,提高页面的渲染速度,而且数据展示更加直观,避免了数据之间的割裂。
2、为解决上述技术问题,本专利技术提出以下方案:
3、第一方面,本专利技术提供一种树状结构的生成方法,所述方法包括:
4、获取节点数据和节点关系数据;
5、基于所述节点数据和所述节点关系数据,获取待生成目标树状结构的最大层数和每个节点对应的所有父节点;
6、基于所述最大层数和
7、当所述主树状结构存在至少一个第一子节点时,则在所述主树状结构的所述第一子节点上添加至少一个对应的父节点,生成所述目标树状结构,所述第一子节点是对应多个父节点的子节点。
8、第二方面,本专利技术提供一种树状结构的生成装置,包括:
9、第一获取单元,用于获取节点数据和节点关系数据;
10、第二获取单元,用于基于所述节点数据和所述节点关系数据,获取待生成目标树状结构的最大层数和每个节点对应的所有父节点;
11、第一生成单元,用于基于所述最大层数和每个节点对应的所有父节点,生成所述待生成目标树状结构中的主树状结构;其中,所述主树状结构中每个子节点对应一个父节点;
12、第二生成单元,用于当所述主树状结构存在至少一个第一子节点时,则在所述主树状结构的所述第一子节点上添加至少一个对应的父节点,生成所述目标树状结构,所述第一子节点是对应多个父节点的子节点。
13、为了实现上述目的,根据本专利技术的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第一方面所述树状结构的生成方法。
14、为了实现上述目的,根据本专利技术的第四方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述用于树状结构的生成方法的全部或部分步骤。
15、为了实现上述目的,根据本专利技术的第五方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面所述方法的步骤。
16、借由上述技术方案,本专利技术提供的树状结构的生成方法及装置,是由于目前生成树状结构的方法只支持单个父节点的设计。为此,本专利技术通过获取节点数据和节点关系数据;基于所述节点数据和所述节点关系数据,获取待生成目标树状结构的最大层数和每个节点对应的所有父节点;基于所述最大层数和每个节点对应的所有父节点,生成所述待生成目标树状结构中的主树状结构;其中,所述主树状结构中每个子节点对应一个父节点;当所述主树状结构存在至少一个子节点时,则在所述主树状结构的所述子节点上添加至少一个对应的父节点,生成所述目标树状结构,所述第一子节点是对应多个父节点的子节点。本专利技术通过计算最大层级的主树状结构,然后通过节点关系数据渲染子节点,避免节点的重复渲染以及树状结构的重复渲染,提高了页面的渲染速度,更加直观的展示节点之间的关系,避免了数据之间的割裂。
17、上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
本文档来自技高网...【技术保护点】
1.一种树状结构的生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述节点数据和所述节点关系数据,获取待生成目标树状结构的最大层数和每个节点对应的所有父节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述最大层数和每个节点对应的所有父节点,生成所述待生成目标树状结构中的主树状结构,包括:
4.根据权利要求3所述的方法,其特征在于,所述当所述主树状结构存在至少一个第一子节点时,则在所述主树状结构的所述第一子节点上添加至少一个对应的父节点,生成所述目标树状结构,所述第一子节点是对应多个父节点的子节点,包括:
5.根据权利要求1-4任一所述的方法,其特征在于,在当所述主树状结构存在至少一个第一子节点时,则在所述主树状结构的所述第一子节点上添加至少一个对应的父节点,生成所述目标树状结构,所述第一子节点是对应多个父节点的子节点之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种树状结构的生成装置,其特征在于,包括:
< ...【技术特征摘要】
1.一种树状结构的生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述节点数据和所述节点关系数据,获取待生成目标树状结构的最大层数和每个节点对应的所有父节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述最大层数和每个节点对应的所有父节点,生成所述待生成目标树状结构中的主树状结构,包括:
4.根据权利要求3所述的方法,其特征在于,所述当所述主树状结构存在至少一个第一子节点时,则在所述主树状结构的所述第一子节点上添加至少一个对应的父节点,生成所述目标树状结构,所述第一子节点是对应多个父节点的子节点,包括:
5.根据权利要求1-4任一所述的方法,其特征在于,在当所述主树状结构存在至少一个第一子节点时,则在所述主树状结构的所述第一子节点上添加至少一个对应的父节点,生...
【专利技术属性】
技术研发人员:汤德昆,段海波,
申请(专利权)人:百融至信北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。