一种表单处理的方法、装置及存储介质制造方法及图纸

技术编号:25834180 阅读:16 留言:0更新日期:2020-10-02 14:15
本申请实施例提供一种表单处理的方法、装置及存储介质,所述方法包括:获取第一输入信息,所述第一输入信息为所述用户在表现层中对目标表单中的第一表单项输入的信息;通过与所述第一表单项关联的目标受控组件,将所述第一输入信息输入行为层;通过所述行为层将所述第一输入信息传入数据层;在所述数据层,根据所述第一输入信息对所述目标表单进行更新。本方案能够编码的复杂度,提高编码效率且易于维护和扩展。

【技术实现步骤摘要】
一种表单处理的方法、装置及存储介质
本申请实施例涉及云
,尤其涉及一种表单处理的方法、装置及存储介质。
技术介绍
在表单系统中通常涉及表单的创建、更新、注册、登录等场景。一般情况下,表单系统采用MVVM框架能够分离数据和用户界面(userinterface,UI),由于表单数据都存储在表单的html元素中,所以在处理表单的层面上,依然在使用传统的方式,即逐项进行编码处理。在更高一级,则只会对表单的表现层进行封装后形成表单生成器。在对现有技术的研究和实践过程中,本申请实施例的专利技术人发现,在针对大型表单的场景(例如大型、分步式表单的场景)时,基于MVVM框架的表单系统在事件处理和数据传递方面仍然没有进行很好的处理,因此导致在这些大型表单场景下,处理表单时的需要复杂的编程工作,冗余代码较多且局限性较大。
技术实现思路
本申请实施例提供了一种表单处理的方法、装置及存储介质,能够能够编码的复杂度,提高编码效率且易于维护和扩展。第一方面中,本申请实施例提供一种表单处理的方法,所述方法包括:获取第一输入信息,所述第一输入信息为用户在表现层中对目标表单中引用的第一表单项输入的信息;通过与所述第一表单项关联的目标受控组件,将所述第一输入信息输入行为层;通过所述行为层将所述第一输入信息传入数据层;在所述数据层,根据所述第一输入信息对所述目标表单进行更新。一些实施方式中,所述通过行为层将所述第一输入信息传入数据层之前,所述方法还包括:确定所述表现层中的至少一个第一表单项,所述第一表单项为自定义表单项、或分步式表单项或规模大于预设规模的表单项中的至少一项;在所述表现层,分别将各第一表单项转换为对应的受控组件。一些实施方式中,所述在所述表现层,分别将各第一表单项转换为对应的受控组件,包括:将所述第一表单项转换为受控组件;通过所述受控组件渲染至少一个表单操作的网页元素,并为所述网页元素设置回调函数的监听事件;在所述受控组件中设置内部值;向所述受控组件中输入初始值,根据默认值和所述初始值更新所述内部值,通过所述受控组件对至少一个表单操作的网页元素进行渲染,以使所述受控组件生效。一些实施方式中,所述为所述网页元素设置回调函数的监听事件之后,所述方法还包括:当所述第一输入信息触发网页元素的第一监听事件时,将基于所述监听事件获取的所述第一输入信息更新到所述内部值中,并触发所述回调函数,以将更新后的所述内部值作为所述回调函数的参数输出至所述行为层。一些实施方式中,当所述数据层中的所述目标表单发生变化时,所述方法还包括:在所述数据层,根据所述目标表单的状态值以更新所述第一表单项,并对所述目标表单进行重新渲染,以更新目标受控组件中的初始值;在所述行为层,从所述数据层获取重新渲染后的所述目标表单,并通过所述目标受控组件传入所述表现层;在所述表现层,通过所述目标受控组件对重新渲染后的所述目标表单进行数据展示。一些实施方式中,所述获取第一输入信息之前,所述方法还包括:获取初始表单和初始表单的状态值;接收到对所述初始表单的编辑指令后,在所述数据层,向Provide组件输入第一初始值;通过所述Provide组件将所述第一初始值初始化为所述状态值,以得到所述目标表单,并通过内容实例将所述目标表单传入所述行为层;通过所述行为层将所述目标表单传入所述表现层,以在所述表现层进行可视化展示。一些实施方式中,在所述行为层,从所述数据层获取与目标受控组件名称对应的第一表单数据,将所述第一表单数据作为实时值,以及从所述表现层获取所述目标表单的第二表单数据;将所述实时值、默认值和所述第二表单数据添加到入参对象中,并将所述入参对象输入所述表现层。一些实施方式中,所述在所述行为层,从所述数据层获取与目标受控组件名称对应的第一表单数据,包括:根据所述第一输入信息确定目标受控组件名称;从所述数据层中获取与所述目标受控组件名称对应的所述第一表单数据,将所述第一表单数据作为实时值;若确定数据层中目标表单的数据与表现层中所述目标表单的数据在内容上不一致,则调用数据解析组件将所述目标表单对应的实时值进行数据变换,得到所述第一表单数据。一些实施方式中,所述从所述表现层获取所述第二表单数据,包括:在所述行为层,通过行为包裹组件监听所述表现层的数据变化;若监听到所述表现层的所述目标表单中发生变化的第一表单数据符合预设监听事件,则拦截符合所述预设监听事件的行为;从所述表现层获取所述第二表单数据,并触发在第一时长内监听用户在所述表现层的输入事件的行为。一些实施方式中,所述行为层包括封装组件,所述数据层包括分发组件,所述方法还包括:在所述行为层中,通过所述封装组件将所述表现层中的至少一个组件进行封装;以及监听所述目标表单中的表单项是否发生数据变化;当所述目标表单中发生数据变化的第一表单项符合至少一种预设监听事件时,在所述行为层中,通过所述分发组件拦截所述表现层中发生变化的第一表单项并传入所述数据层,以触发对所述目标表单的状态值的更新。一些实施方式中,所述方法还包括:在所述数据层,根据所述目标受控组件的组件标识获取所述目标受控组件的表单数据;将所述目标受控组件的表单数据作为实时值和默认值传入所述行为层;在所述行为层,通过分发组件将所述目标受控组件的表单数据传入所述表现层,以更新所述表现层中的目标表单。一些实施方式中,所述数据层还包括状态组件和内容组件,所述方法还包括:在所述数据层,通过所述状态组件保存所述第二表单数据;若所述第二表单数据在所述数据层中发生变化,则在所述数据层中,通过所述内容组件将发生变化后的所述第二表单数据通过所述行为层输入所述表现层。第二方面中,本申请实施例提供一种表单处理装置,具有实现对应于上述第一方面提供的表单处理的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。一种可能的设计中,所述表单处理装置包括:获取模块,用于获取第一输入信息,所述第一输入信息为用户在表现层中对目标表单中引用的第一表单项输入的信息;输入输出模块,用于通过与所述第一表单项关联的目标受控组件,将所述第一输入信息输入行为层;通过所述行为层将所述第一输入信息传入数据层;处理模块,用于在所述数据层,根据所述第一输入信息对所述目标表单进行更新。本申请实施例又一方面提供了一种表单处理装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中的计算机程序来执行上述各方面所述的方法。本申请实施例又一方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计本文档来自技高网...

【技术保护点】
1.一种表单处理的方法,其特征在于,所述方法包括:/n获取第一输入信息,所述第一输入信息为用户在表现层中对目标表单中引用的第一表单项输入的信息;/n通过与所述第一表单项关联的目标受控组件,将所述第一输入信息输入行为层;/n通过所述行为层将所述第一输入信息传入数据层;/n在所述数据层,根据所述第一输入信息对所述目标表单进行更新。/n

【技术特征摘要】
1.一种表单处理的方法,其特征在于,所述方法包括:
获取第一输入信息,所述第一输入信息为用户在表现层中对目标表单中引用的第一表单项输入的信息;
通过与所述第一表单项关联的目标受控组件,将所述第一输入信息输入行为层;
通过所述行为层将所述第一输入信息传入数据层;
在所述数据层,根据所述第一输入信息对所述目标表单进行更新。


2.根据权利要求1所述的方法,其特征在于,所述通过行为层将所述第一输入信息传入数据层之前,所述方法还包括:
确定所述表现层中的至少一个第一表单项,所述第一表单项为自定义表单项、或分步式表单项或规模大于预设规模的表单项中的至少一项;
在所述表现层,分别将各第一表单项转换为对应的受控组件。


3.根据权利要求2所述的方法,其特征在于,所述在所述表现层,分别将各第一表单项转换为对应的受控组件,包括:
将所述第一表单项转换为受控组件;
通过所述受控组件渲染至少一个表单操作的网页元素,并为所述网页元素设置回调函数的监听事件;
在所述受控组件中设置内部值;
向所述受控组件中输入初始值,根据默认值和所述初始值更新所述内部值,通过所述受控组件对至少一个表单操作的网页元素进行渲染,以使所述受控组件生效。


4.根据权利要求3所述的方法,其特征在于,所述为所述网页元素设置回调函数的监听事件之后,所述方法还包括:
当所述第一输入信息触发网页元素的第一监听事件时,将基于所述监听事件获取的所述第一输入信息更新到所述内部值中,并触发所述回调函数,以将更新后的所述内部值作为所述回调函数的参数输出至所述行为层。


5.根据权利要求1-4中任一项所述的方法,其特征在于,当所述数据层中的所述目标表单发生变化时,所述方法还包括:
在所述数据层,根据所述目标表单的状态值以更新所述第一表单项,并对所述目标表单进行重新渲染,以更新目标受控组件中的初始值;
在所述行为层,从所述数据层获取重新渲染后的所述目标表单,并通过所述目标受控组件传入所述表现层;
在所述表现层,通过所述目标受控组件对重新渲染后的所述目标表单进行数据展示。


6.根据权利要求4所述的方法,其特征在于,所述数据层包括Provide组件;所述获取第一输入信息之前,所述方法还包括:
获取初始表单和初始表单的状态值;
接收到对所述初始表单的编辑指令后,在所述数据层,向Provide组件输入第一初始值;
通过所述Provide组件将所述第一初始值初始化为所述状态值,以得到所述目标表单,并通过内容实例将所述目标表单传入所述行为层;
通过所述行为层将所述目标表单传入所述表现层,以在所述表现层进行可视化展示。


7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述行为层,从所述数据层获取与目标受控组件名称对应的第一表单数据,将所述第一表单数据作为实时值,以及从所述表现层获取所述...

【专利技术属性】
技术研发人员:黄剑枫
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1