表单渲染方法、终端、装置和计算机可读存储介质制造方法及图纸

技术编号:30138682 阅读:16 留言:0更新日期:2021-09-23 14:55
本申请公开了一种表单渲染方法、终端、装置和计算机可读存储介质,表单渲染方法包括:在接收到表单数据发生变化的通知消息时,获取发生变化的表单数据;根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化;若组件属性发生变化,则根据发生变化的表单数据对表单组件进行重渲染。如此,通过虚拟独立层实现了最小化的必要性重渲染,同时,实现了所有表单组件对全局变化的监听,保证了无冗余的重渲染,在自动化实现组件联动关系的前提下保证了表单页的交互流畅性。系的前提下保证了表单页的交互流畅性。系的前提下保证了表单页的交互流畅性。

【技术实现步骤摘要】
表单渲染方法、终端、装置和计算机可读存储介质


[0001]本申请涉及数据处理
,尤其涉及一种表单渲染方法、终端、装置和计算机可读存储介质。

技术介绍

[0002]表单是一种普通的用户界面元素,为数据输入和输出提供了一种简单而直观的表现方式。在现有技术中,管理后台有大量提交表单进行运营配置的需求,这些表单根据需求的不同在布局和交互逻辑上也五花八门,其中,表单可通过开发者手动开发,也可以由引擎基于表单配置文件自动生成。而引擎自动生成表单和开发者手动开发表单的区别在于,引擎无法预先知道表单中组件的关联关系,需要对每个组件值变化进行监听,一旦某一个组件发生变化就会引起全局重渲染,此时,在页面的表现上就是用户输入比较卡顿。因此,由于出现冗余的重渲染,导致表单页面卡顿。

技术实现思路

[0003]本申请实施例通过提供一种表单渲染方法、终端、装置和计算机可读存储介质,旨在解决由于出现冗余的重渲染,导致表单页面卡顿的问题。
[0004]为实现上述目的,本申请一方面提供一种表单渲染方法,所述方法包括:
[0005]在接收到表单数据发生变化的通知消息时,获取发生变化的表单数据;
[0006]根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化;
[0007]若所述组件属性发生变化,则根据发生变化的表单数据对所述表单组件进行重渲染。
[0008]可选地,所述根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化的步骤包括:
[0009]确定所述虚拟独立层中表单组件的组件属性是否包括第一组件属性;
[0010]若包括所述第一组件属性,则将发生变化的表单数据作为参数执行所述第一组件属性中的程序;
[0011]根据执行结果确定所述表单组件的组件属性是否发生变化,其中,当所述执行结果与预设结果不一致时,确定所述组件属性发生变化。
[0012]可选地,所述根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化的步骤,还包括:
[0013]若所述虚拟独立层中表单组件的组件属性不包括所述第一组件属性,则将发生变化的表单数据与预设数据进行比较;
[0014]根据比较结果确定所述表单组件的组件属性是否发生变化,其中,当所述比较结果为发生变化的表单数据与所述预设数据不一致时,确定所述组件属性发生变化。
[0015]可选地,所述根据发生变化的表单数据对所述表单组件进行重渲染的步骤包括:
[0016]将发生变化的表单数据发送至所述表单组件的渲染层,以使所述渲染层根据发生
变化的表单数据对所述表单组件进行重渲染。
[0017]可选地,所述方法包括:
[0018]获取表单配置文件,为所述表单配置文件中的每个所述表单组件设置虚拟独立层;
[0019]在检测到表单数据发生变化时,向每个所述表单组件的虚拟独立层发送表单数据发生变化的通知消息,以使所述表单组件根据所述通知消息确定组件属性是否发生变化,并在发生变化时执行表单组件的重渲染动作。
[0020]可选地,所述获取表单配置文件的步骤之后,包括:
[0021]对所述表单配置文件进行解析得到表单配置信息,根据所述表单配置信息获取所述表单组件的标识信息;
[0022]根据所述表单组件的标识信息从组件列表中获取表单组件;
[0023]根据所述表单组件对表单进行渲染。
[0024]可选地,对所述表单组件进行校验的方法包括:
[0025]在进行单个表单组件校验时,根据校验函数对组件值发生变化的表单组件进行校验;
[0026]在进行至少两个表单组件联合校验时,根据校验函数对组件值发生变化的第一表单组件进行校验;
[0027]在所述第一表单组件校验成功时,对第二表单组件进行校验,其中,所述第二表单组件是所述第一表单组件的子表单组件。
[0028]此外,为实现上述目的,本申请另一方面还提供一种终端,所述终端包括存储器、处理器及存储在存储器上并在所述处理器上运行动物的表单渲染程序,所述处理器执行所述动物的表单渲染程序时实现如上所述表单渲染方法的步骤。
[0029]此外,为实现上述目的,本申请另一方面还提供一种表单渲染装置,所述装置包括存储器、处理器及存储在存储器上并在所述处理器上运行动物的表单渲染程序,所述处理器执行所述动物的表单渲染程序时实现如上所述表单渲染方法的步骤。
[0030]此外,为实现上述目的,本申请另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有动物的表单渲染程序,所述动物的表单渲染程序被处理器执行时实现如上所述表单渲染方法的步骤。
[0031]本申请提出了一种表单渲染方法,通过在接收到表单数据发生变化的通知消息时,获取发生变化的表单数据;根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化;若组件属性发生变化,则根据发生变化的表单数据对表单组件进行重渲染。如此,通过虚拟独立层实现了最小化的必要性重渲染,同时,实现了所有表单组件对全局变化的监听,保证了无冗余的重渲染,在自动化实现组件联动关系的前提下保证了表单页的交互流畅性。
附图说明
[0032]图1为本申请实施例方案涉及的硬件运行环境的终端结构示意图;
[0033]图2为本申请表单渲染方法第一实施例的流程示意图;
[0034]图3为本申请表单渲染方法第二实施例的流程示意图;
[0035]图4为本申请表单渲染方法中获取表单配置文件的步骤之后的流程示意图;
[0036]图5为本申请表单渲染方法中根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化的流程示意图;
[0037]图6为引擎生成复杂页面布局示意图;
[0038]图7为本申请表单渲染方法的操作流程示意图;
[0039]图8为配置文件主要结构;
[0040]图9为布局组件layout的配置项;
[0041]图10为组件校验规则配置;
[0042]图11为表单联动规则配置;
[0043]图12为表单联合校验配置。
[0044]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0045]应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0046]本申请实施例的主要解决方案是:在接收到表单数据发生变化的通知消息时,获取发生变化的表单数据;根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化;若所述组件属性发生变化,则根据发生变化的表单数据对所述表单组件进行重渲染。
[0047]由于在使用引擎自动生成表单时,引擎无法预先知道表单中组件的关联关系,需要对每个组件值变化进行监听,一旦某一个组件发生变化就会引起全局重渲染,此时,在页面的表现上就是用户输入比较卡顿。因此,由于出现冗余的重渲染,导致表单页面卡顿本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种表单渲染方法,其特征在于,所述方法包括:在接收到表单数据发生变化的通知消息时,获取发生变化的表单数据;根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化;若所述组件属性发生变化,则根据发生变化的表单数据对所述表单组件进行重渲染。2.如权利要求1所述的表单渲染方法,其特征在于,所述根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化的步骤包括:确定所述虚拟独立层中表单组件的组件属性是否包括第一组件属性;若包括所述第一组件属性,则将发生变化的表单数据作为参数执行所述第一组件属性中的程序;根据执行结果确定所述表单组件的组件属性是否发生变化,其中,当所述执行结果与预设结果不一致时,确定所述组件属性发生变化。3.如权利要求2所述的表单渲染方法,其特征在于,所述根据发生变化的表单数据确定虚拟独立层中表单组件的组件属性是否发生变化的步骤,还包括:若所述虚拟独立层中表单组件的组件属性不包括所述第一组件属性,则将发生变化的表单数据与预设数据进行比较;根据比较结果确定所述表单组件的组件属性是否发生变化,其中,当所述比较结果为发生变化的表单数据与所述预设数据不一致时,确定所述组件属性发生变化。4.如权利要求1所述的表单渲染方法,其特征在于,所述根据发生变化的表单数据对所述表单组件进行重渲染的步骤包括:将发生变化的表单数据发送至所述表单组件的渲染层,以使所述渲染层根据发生变化的表单数据对所述表单组件进行重渲染。5.一种表单渲染方法,其特征在于,所述方法包括:获取表单配置文件,为所述表单配置文件中的每个所述表单组件设置虚拟独...

【专利技术属性】
技术研发人员:姚丹丹张贝金何俊丽
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1