一种列表处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35333416 阅读:12 留言:0更新日期:2022-10-26 11:52
本公开关于一种列表处理方法、装置、电子设备及存储介质,该方法包括:获取用于创建目标列表的数据源;拦截处理所述目标列表的目标操作,并创建所述目标列表对应的影子树;按照所述影子树所包括的叶子节点的节点顺序,创建叶子节点对应的视图;获取所创建的每一视图对应的视图内容;将所述视图内容渲染到对应的视图中,得到所述目标列表。这样,即保证了创建视图的过程是有顺序性的,渲染视图的过程也是顺序性的,进而保证了创建视图和渲染视图均有序进行,目标列表的列表内容不会出错。目标列表的列表内容不会出错。目标列表的列表内容不会出错。

【技术实现步骤摘要】
一种列表处理方法、装置、电子设备及存储介质


[0001]本申请涉及计算机领域,特别是涉及一种列表处理方法、装置、电子设备及存储介质。

技术介绍

[0002]React Native(RN)是开源的跨平台技术框架,是Facebook早先开源的JS框架React在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用。
[0003]在跨平台业务中,目前RN平台下,最常见、被最频繁使用的场景就是列表场景。在列表场景中,在长列表接入业务后,由于创建和渲染长列表中多个行的随机性,可能导致列表渲染异常,从而导致列表内容异常。

技术实现思路

[0004]为客服相关技术存在的上述技术问题,本公开实施例提供了一种列表处理方法、装置、电子设备及存储介质。
[0005]第一方面,本公开实施例提供了一种列表处理方法,包括:获取用于创建目标列表的数据源;所述目标列表包括多个行,每一行对应一个视图,所述数据源包括每一视图的视图信息;拦截处理所述目标列表的目标操作,并创建所述目标列表对应的影子树;所述目标操作包括对所述多个行对应视图的创建操作;所述影子树包括多个叶子节点;每个叶子节点对应所述目标列表的一个视图,一个叶子节点的节点信息为该叶子节点对应视图的视图信息;按照所述影子树所包括的叶子节点的节点顺序,创建叶子节点对应的视图;获取所创建的每一视图对应的视图内容;每一视图的视图内容是基于该视图对应叶子节点的节点信息创建的;将所述视图内容渲染到对应的视图中,得到所述目标列表。
[0006]可选的,所述获取所创建的每一视图对应的视图内容之前,还包括:基于所述多个叶子节点中目标叶子节点对应视图的视图信息,创建所述目标叶子节点对应视图的视图内容;将所述目标叶子节点对应视图的视图内容缓存于第一缓存池中。
[0007]可选的,所述获取所创建的每一视图对应的视图内容,包括:对于所创建的每一视图,在所述第一缓存池中查找是否存在该视图对应的视图内容;当所述第一缓存池中存在该视图对应的视图内容时,从所述第一缓存池中获取该视图对应的视图内容。
[0008]可选的,还包括:
当所述第一缓存池中不存在该视图对应的视图内容时,基于该视图对应的叶子节点的视图信息创建该视图的视图内容。
[0009]可选的,还包括:获取更新后的数据源,所述更新后的数据源包括更新后的目标列表的视图的视图信息;拦截处理所述更新后的目标列表的目标操作,并基于所述更新后的数据源更新所述影子树,得到更新后的影子树;基于所述更新后的影子树所包括的叶子节点的视图信息,以及,更新前的所述影子树所包括的叶子节点的视图信息,确定发生变更的变更叶子节点;获取所述变更叶子节点对应的视图内容,并将所述变更叶子节点对应的视图内容渲染到所述目标列表对应的视图中,得到更新后的目标列表。
[0010]可选的,所述获取所述变更叶子节点对应的视图内容,包括:当所述第一缓存池中不存在所述变更叶子节点对应的视图内容时,基于所述变更叶子节点的视图信息,创建所述变更叶子节点对应的视图内容。
[0011]可选的,所述按照所述影子树所包括的叶子节点的节点顺序,创建叶子节点对应的视图,包括:在创建每一叶子节点对应的视图时,从所述影子树中查找该叶子节点的视图信息;基于所查找到的视图信息中的属性信息,确定所述视图的宽度和高度;所述属性信息包括视图的大小;创建具有所述宽度和高度的视图。
[0012]可选的,所述目标列表的所述多个行通过至少两个视图页面分页展示,所述按照所述影子树所包括的叶子节点的节点顺序,创建叶子节点对应的视图,包括:响应于展示当前视图页面的目标行,且所述当前视图页面不属于所述至少两个视图页面中的首个视图页面,从第二缓存池中获取已缓存的目标数量个视图;所述目标数量为单个视图页面所能展示的所述目标列表的行数量;按照所述当前视图页面的目标行对应的叶子节点的节点顺序,将所述目标数量个视图依次确定为所述当前视图页面对应的叶子节点的视图。
[0013]可选的,所述响应于展示当前视图页面的目标行,且所述当前视图页面不属于所述至少两个视图页面中的首个视图页面,从第二缓存池中获取已缓存的目标数量个视图之前,还包括:响应于展示首个视图页面的目标行,按照所述影子树所包括的叶子节点的节点顺序,创建所述目标数量个叶子节点对应的视图;将所创建的所述目标数量个视图缓存于所述第二缓存池中,并将所述目标数量个视图依次确定为所述首个视图页面对应的叶子节点的视图。
[0014]根据本公开实施例的第二方面,提供了一种列表处理装置,包括:数据源获取模块,被配置为执行获取用于创建目标列表的数据源;所述目标列表包括多个行,每一行对应一个视图,所述数据源包括每一视图的视图信息;操作拦截模块,被配置为执行拦截处理所述目标列表的目标操作,并创建所述目
标列表对应的影子树;所述目标操作包括对所述多个行对应视图的创建操作;所述影子树包括多个叶子节点;每个叶子节点对应所述目标列表的一个视图,一个叶子节点的节点信息为该叶子节点对应视图的视图信息;视图创建模块,被配置为执行按照所述影子树所包括的叶子节点的节点顺序,创建叶子节点对应的视图;视图内容获取模块,被配置为执行获取所创建的每一视图对应的视图内容;每一视图的视图内容是基于该视图对应叶子节点的节点信息创建的;视图渲染模块,被配置为执行将所述视图内容渲染到对应的视图中,得到所述目标列表。
[0015]可选的,还包括:视图内容创建模块,被配置为执行在所述视图内容获取模块获取所创建的每一视图对应的视图内容之前,基于所述多个叶子节点中目标叶子节点对应视图的视图信息,创建所述目标叶子节点对应视图的视图内容;视图内容缓存模块,被配置为执行将所述目标叶子节点对应视图的视图内容缓存于第一缓存池中。
[0016]可选的,所述视图内容获取模块,具体被配置为执行:对于所创建的每一视图,在所述第一缓存池中查找是否存在该视图对应的视图内容;当所述第一缓存池中存在该视图对应的视图内容时,从所述第一缓存池中获取该视图对应的视图内容。
[0017]可选的,所述视图内容获取模块,还具体被配置为执行:当所述第一缓存池中不存在该视图对应的视图内容时,基于该视图对应的叶子节点的视图信息创建该视图的视图内容。
[0018]可选的,还包括:数据源获取模块,还被配置为执行获取更新后的数据源,所述更新后的数据源包括更新后的目标列表的视图的视图信息;操作拦截模块,还被配置为执行拦截处理所述更新后的目标列表的目标操作,并基于所述更新后的数据源更新所述影子树,得到更新后的影子树;变更叶子节点确定模块,被配置为执行基于所述更新后的影子树所包括的叶子节点的视图信息,以及,更新前的所述影子树所包括的叶子节点的视图信息,确定发生变更的变更叶子节点;视图内容获取模块,还被配置为执行获取所述变更叶子节点对应的视图内容,并将所述变更叶子节点对应的视图内容渲染到所述目标列表对应的视图中,得到更新后的目标列表。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种列表处理方法,其特征在于,包括:获取用于创建目标列表的数据源;所述目标列表包括多个行,每一行对应一个视图,所述数据源包括每一视图的视图信息;拦截处理所述目标列表的目标操作,并创建所述目标列表对应的影子树;所述目标操作包括对所述多个行对应视图的创建操作;所述影子树包括多个叶子节点;每个叶子节点对应所述目标列表的一个视图,一个叶子节点的节点信息为该叶子节点对应视图的视图信息;按照所述影子树所包括的叶子节点的节点顺序,创建叶子节点对应的视图;获取所创建的每一视图对应的视图内容;每一视图的视图内容是基于该视图对应叶子节点的节点信息创建的;将所述视图内容渲染到对应的视图中,得到所述目标列表。2.根据权利要求1所述的方法,其特征在于,所述获取所创建的每一视图对应的视图内容之前,还包括:基于所述多个叶子节点中目标叶子节点对应视图的视图信息,创建所述目标叶子节点对应视图的视图内容;将所述目标叶子节点对应视图的视图内容缓存于第一缓存池中。3.根据权利要求2所述的方法,其特征在于,所述获取所创建的每一视图对应的视图内容,包括:对于所创建的每一视图,在所述第一缓存池中查找是否存在该视图对应的视图内容;当所述第一缓存池中存在该视图对应的视图内容时,从所述第一缓存池中获取该视图对应的视图内容。4.根据权利要求3所述的方法,其特征在于,还包括:当所述第一缓存池中不存在该视图对应的视图内容时,基于该视图对应的叶子节点的视图信息创建该视图的视图内容。5.根据权利要求2至4任一项所述的方法,其特征在于,还包括:获取更新后的数据源,所述更新后的数据源包括更新后的目标列表的视图的视图信息;拦截处理所述更新后的目标列表的目标操作,并基于所述更新后的数据源更新所述影子树,得到更新后的影子树;基于所述更新后的影子树所包括的叶子节点的视图信息,以及,更新前的所述影子树所包括的叶子节点的视图信息,确定发生变更的变更叶子节点;获取所述变更叶子节点对应的视图内容,并将所述变更叶子节点对应的视图内容渲染到所述目标列表对应的视图中,得到更新后的目标列表。6.根据权利要求5所述的方法,其特征在于,所述获取所述变更叶子节点对应的视图内容,包括:当所述第一缓存池中不存在所述变更叶子节点对应的视图内容时,基于所述变更叶子节点的视图信息,创建所述变更叶子节点对应的视图内容。7.根据权利要求1至4任一项所述的方法,其特征在于,所述按照所述影子树所包括的叶子节点的节点顺序,创建叶子节点对应的视图,包括:
在创建每一叶子节点对应的视图时,从所述影子树中查找该叶子节点的视图信息;基于所查找到的视图信息中的属性信息,确定所述视图的宽度和高度;所述属性信息包括视图的大小;创建具有所述宽度和高度的视图。8.根据权利要求1至4任一项所述的方法,其特征在于,所述目标列表的所述多个行通过至少两个视图页面分页展示,所述按照所述影子树所包括的叶子节点的节点顺序,创建叶子节点对应的视图,包括:响应于展示当前视图页面的目标行,且所述当前视图页面不属于所述至少两个视图页面中的首个视图页面,从第二缓存池中获取已缓存的目标数量个视图;所述目标数量为单个视图页面所能展示的所述目标列表的行数量;按照所述当前视图页面的目标行对应的叶子节点的节点顺序,将所述目标数量个视图依次确定为所述当前视图页面对应的叶子节点的视图。9.根据权利要求8所述的方法,其特征在于,所述响应于展示当前视图页面的目标行,且所述当前视图页面不属于所述至少两个视图页面中的首个视图页面,从第二缓存池中获取已缓存的目标数量个视图之前,还包括:响应于展示首个视图页面的目标行,按照所述影子树所包括的叶子节点的节点顺序,创建所述目标数量个叶子节点对应的视图;将所创建的所述目标数量个视图缓存于所述第二缓存池中,并将所述目标数量个视图依次确定为所述首个视图页面对应的叶子节点的视图。10.一种列表处理装置,其特征在于,包括:数据源获取模块,被配置为执行获取用于创建目标列表的数据源;所述目标列表包括多个行,每一行对应一个视图,所述数据源包括每一视图的视图信息;操作拦截模块,被配置为执行拦截处理所述目标列表的目标操作,并创建所述目标列表对应的影子树;所述目标操作包括对所述多个行对应视图的创建操作;所述影子树包括多个叶子节点;每个叶子节点对应...

【专利技术属性】
技术研发人员:张鹏潘志宇
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1