基于不可变列配置元数据的表格渲染方法、系统及设备与流程
本发明实施例涉及表单处理,特别涉及一种基于不可变列配置元数据的表格渲染方法、系统及设备。
背景技术:
1、在现有技术中,表格列配置通常以可变对象数组的形式直接定义在业务代码中。开发者在创建列配置对象后,往往不会对其加以约束,后续的业务逻辑、状态管理代码或第三方插件均可能对这些配置对象的属性进行修改,例如在运行时替换渲染函数、更改列标题或调整排序标记。由于这些对象在渲染生命周期内不具备引用稳定性,声明式渲染框架在执行虚拟dom差异比较时,无法通过简单的引用相等性检查来快速判断列定义是否发生变化,而是需要深入比较每个列配置对象的各层属性,导致不必要的计算开销随列数量和交互频率的增加而放大,从而产生渲染性能损耗。
2、在过滤功能的实现上,现有技术同样依赖开发者在多个位置分别进行手工绑定。对于每一列需要启用过滤能力的字段,开发者必须根据自身对业务数据类型的理解,手动选定合适的过滤交互控件类型,例如决定该列应使用下拉选择控件还是日期范围控件。与此同时,开发者还需手动指定该过滤控件的数据来源接口。当业务场景发生切换时,例如从某一类资源实例的列表页面切换至另一类资源实例的列表页面,即便两个页面中的列具有相同的语义,其过滤选项数据源接口往往不同,开发者需要逐列修改接口地址,稍有遗漏便会导致过滤选项加载错误或为空。此外,过滤控件输出值与后端请求参数之间的映射关系也完全依赖开发者手工编写转换代码,包括参数键名对应、多选值的数组拆分、时间范围值的起止格式转换以及空值处理等。这些映射逻辑分散在组件初始化、事件回调和请求发起前的不同代码段中,彼此之间缺乏统一的约束和触发协调机制,一旦某处映射逻辑与另一处的过滤状态存储方式不一致,就会出现过滤界面中已选择的值与最终发送给后端的请求参数不匹配的情况,导致查询结果与用户预期不符。
3、上述问题的根源在于,列配置信息与过滤能力绑定信息均以可变、分散且依赖人工维护的方式存在于代码中,配置对象在运行期无法保持稳定,过滤功能的各环节之间也缺少一个可追溯的声明来源。这使得表格在渲染过程中难以避免多余的计算,在过滤状态管理中容易出现参数错位,最终影响了表格组件的整体可靠性和交互效率。
技术实现思路
1、本发明实施方式的目的在于提供一种基于不可变列配置元数据的表格渲染方法、系统及设备,本实施例的方法能够提高表格渲染的交互效率和配置的可靠性。
2、为解决上述问题,本发明实施例提供了一种基于不可变列配置元数据的表格渲染方法,应用于表格渲染系统,所述表格渲染系统中包括表格组件与过滤交互组件,所述方法包括:
3、定义列配置元数据数组,所述列配置元数据数组中的每个列配置元数据对象至少包括数据字段标识、显示标题、过滤类型标记和过滤参数映射键,对每个所述列配置元数据对象执行浅冻结,得到不可变列配置元数据数组;对所述不可变列配置元数据数组进行解析,遍历提取关键字段并生成唯一列标识,形成标准化的不可变列配置元数据集合;遍历所述不可变列配置元数据集合,识别包含所述过滤类型标记的列,基于所述过滤类型标记推导所述过滤交互组件和请求参数映射关系,将所述过滤交互组件绑定至对应列的列头,初始化过滤值状态;获取所述表格组件维护的当前分页状态和当前排序状态,根据所述当前分页状态、所述过滤值状态和所述当前排序状态组装请求参数,调用数据接口获取表格数据列表;基于所述不可变列配置元数据集合和已绑定至列头的所述过滤交互组件,生成最终列定义集合,将所述最终列定义集合、所述表格数据列表和所述当前分页状态传入所述表格组件进行渲染。
4、本发明实施例还提出了一种表格渲染系统,所述表格渲染系统中包括表格组件与过滤交互组件,所述系统还包括:
5、列配置元数据定义模块,用于定义列配置元数据数组,所述列配置元数据数组中的每个列配置元数据对象至少包括数据字段标识、显示标题、过滤类型标记和过滤参数映射键,对每个所述列配置元数据对象执行浅冻结,形成不可变列配置元数据数组;表格请求处理模块,用于对所述不可变列配置元数据数组进行解析,遍历提取关键字段并生成唯一列标识,形成标准化的不可变列配置元数据集合;过滤推导模块,用于遍历所述不可变列配置元数据集合,识别包含所述过滤类型标记的列,基于所述过滤类型标记推导所述过滤交互组件和请求参数映射关系,将所述过滤交互组件绑定至对应列的列头,初始化过滤值状态;数据列表调用模块,用于获取所述表格组件维护的当前分页状态和当前排序状态,根据所述当前分页状态、所述过滤值状态和所述当前排序状态组装请求参数,调用数据接口获取表格数据列表;表格组件渲染模块,用于基于所述不可变列配置元数据集合和已绑定至列头的所述过滤交互组件,生成最终列定义集合,将所述最终列定义集合、所述表格数据列表和所述当前分页状态传入所述表格组件进行渲染。
6、本发明实施例还提出了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
7、本发明实施例通过定义并冻结列配置元数据、解析生成标准化不可变集合、基于过滤标记推导过滤能力、组装多源状态请求参数以及生成最终列定义集合并渲染,实现了列配置元数据的不可变性保障和过滤能力的声明式推导。由于不可变元数据引用在渲染生命周期内保持稳定,减少了虚拟dom比较过程中的不必要深度比较,同时过滤类型标记消除了手动绑定组件类型、数据源和参数映射带来的不一致风险,进而提高表格渲染的效率和配置的可维护性。
1.一种基于不可变列配置元数据的表格渲染方法,应用于表格渲染系统,所述表格渲染系统中包括表格组件与过滤交互组件,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述列配置元数据对象还包括:资源类型标识;所述过滤类型标记包括:状态过滤标记、云区域过滤标记和时间范围过滤标记;
3.根据权利要求2所述的方法,其特征在于,当检测到所述过滤值状态中与所述状态过滤标记对应的值发生变化时,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述保存操作包括:根据持久化模式标识选择存储路由,所述持久化模式标识用于指示是否将列偏好保存至后端;
6.根据权利要求5所述的方法,其特征在于,所述固定列集合中包含实例id列和操作列;
7.根据权利要求2所述的方法,其特征在于,所述根据所述当前分页状态、所述过滤值状态和所述当前排序状态组装请求参数,包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.一种表格渲染系统,所述表格渲染系统中包括表格组件与过滤交互组件,其特征在于,所述系统还包括:
10.一种电子设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一项所述的基于不可变列配置元数据的表格渲染方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com