[发明专利]表单修改方法、装置、存储介质和电子设备有效
申请号: | 201811459537.9 | 申请日: | 2018-11-30 |
公开(公告)号: | CN109669944B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 赵振国;黄治纲 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 张岩龙;魏嘉熹 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 表单 修改 方法 装置 存储 介质 电子设备 | ||
本公开涉及一种表单修改方法、装置、存储介质和电子设备,该方法包括:根据当前表单的原始表单模型,生成当前表单的第一虚拟表单模型,该第一虚拟表单模型与原始表单模型一致;当检测到对当前表单的第一操作时,将复制第一虚拟表单模型得到的第二虚拟表单模型放入当前的事件循环内,用于使事件循环内发生的针述当前表单的所有的修改操作均作用于第二虚拟表单模型上;根据事件循环结束后得到的第三虚拟表单模型与第一虚拟表单模型的对比结果,对该原始表单模型进行修改。能够在一个事件循环内对虚拟表单模型进行多次修改,从而不必每次修改表单模型都触发表单的重新绘制,因此能够避免不必要的资源消耗,降低性能损耗。
技术领域
本公开涉及计算机技术领域,具体地,涉及一种表单修改方法、装置、存储介质和电子设备。
背景技术
现有的表单设计器,在进行表单修改操作时都是直接基于表单的表单模型(也称为表单图形模型、表单绘图模型)直接进行修改,但是这种方式容易造成性能的损耗,这是由于每次对表单模型的修改都会触发表单的重新绘制。
例如我们通常在一个事件中同时操作多个节点,这些节点可能有相同的父节点,但是每修改一次子节点,就会导致一次重新绘制,特别是在有些情况下,可能只修改了个别节点,但是也需要对整个表单模型进行重新绘制。由此可见,在现有技术中,每次对表单模型的修改都会触发表单的重新绘制,会造成不必要的资源消耗,从而造成性能损耗。
发明内容
本公开的目的是提供一种表单修改方法、装置、存储介质和电子设备,用于解决现有技术中容易造成性能损耗的问题。
为了实现上述目的,本公开的第一方面,提供一种表单修改方法,所述方法包括:
根据当前表单的原始表单模型,生成所述当前表单的第一虚拟表单模型,所述第一虚拟表单模型与所述原始表单模型一致;
当检测到对所述当前表单的第一操作时,将复制所述第一虚拟表单模型得到的第二虚拟表单模型放入当前的事件循环内,用于使所述事件循环内发生的针对所述当前表单的所有的修改操作均作用于所述第二虚拟表单模型上,所述事件循环是由所述第一操作触发产生,并在所述第一操作中断时结束;
根据所述事件循环结束后得到的第三虚拟表单模型与所述第一虚拟表单模型的对比结果,对所述原始表单模型进行修改,所述第三虚拟表单模型是所述第二虚拟表单模型经过所述事件循环内的所述所有的修改操作修改后得到的。
可选地,所述根据所述事件循环结束后得到的第三虚拟表单模型与所述第一虚拟表单模型的对比结果,对所述原始表单模型进行修改,包括:
根据所述第三虚拟表单模型中的每层的节点与所述第一虚拟表单模型中的同层的节点的对比结果,对所述原始表单模型中的同层节点进行修改操作,以将所述原始表单模型修改为与所述第三虚拟表单模型一致。
可选地,所述根据所述第三虚拟表单模型中的每层的节点与所述第一虚拟表单模型中的同层的节点的对比结果,对所述原始表单模型中的同层节点进行修改操作,以将所述原始表单模型修改为与所述第三虚拟表单模型一致,包括:
在将所述第三虚拟表单模型中的第i层与所述第一虚拟表单模型中的第i层进行对比时,将所述第三虚拟表单模型中的第i层中的节点作为第一组,将所述第一虚拟表单模型中的第i层中的节点作为第二组,i为正整数,i的起始值为1;
将第一头索引设置在所述第一组中的首节点处,第一尾索引设置在所述第一组中的尾节点处,以及将所述第二头索引设置在所述第二组中的首节点处,第二尾索引设置在所述第二组中的尾节点处;
执行所述第一组和所述第二组的节点对比流程,以根据对比结果对所述原始表单模型的第i层中的节点进行修改;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811459537.9/2.html,转载请声明来源钻瓜专利网。