• 首页
  • 产品中心
    • 数式Oinone四大产品

      低代码开发平台无代码开发平台集成开发平台AI大模型开发
    • 数式Oinone体系能力

      用户与组织权限管理文件管理消息中心国际化业务审计
    • 数式Oinone核心产品特性

      低无一体面向软件公司场景无限制应用级扩容可分可合
  • 服务中心
    • 客户服务

      预约演示方案咨询私有部署找人定制
    • 开发者

      问答下载
    • Oinone学院

      社区学习

    《精讲面向软件公司的低代码平台——以Oinone为例》

  • 合作伙伴
    渠道申请伙伴名录专家库
  • 关于数式
0571-88757863

按钮:跨页面传额外的参数


一、上下文在字段和动作中的应用

在业务场景中,常常需要在打开弹窗或跳转到新页面时携带当前页面数据。此时,我们需要配置相关「动作」中的上下文信息。

在 oinone 平台中,上下文主要分为以下三种:

  1. activeRecord:当前视图数据
  2. rootRecord:主视图数据
  3. openerRecord:触发弹窗的对象

activeRecord 表示当前视图的数据。例如,若动作配置在表单上,则指代当前表单的数据;若配置在 o2m、m2m 字段表格上,则指代选中的行数据。

rootRecord 表示根视图的数据。若当前视图是表单页,则代表表单的数据;若为表格页,则代表表格的数据。

openerRecord 表示触发弹窗的对象。例如,在弹窗内的字段或动作中,可通过 openerRecord 获取触发弹窗的信息。

这三者均为对象 (Object) 类型。

二、视图介绍

(一)当前视图

组件最近的父视图,如:弹窗内的字段组件,它的当前视图就是弹窗打开的视图

当前视图在代码中的取值关键字为activeRecord,获取当前视图内数据的id则为activeRecord.id

(二)主视图

页面当前主模型(浏览器地址的 model 为主模型的模型编码)的视图,如:弹窗内的字段组件,它的主视图不是弹窗打开的视图,而是打开弹窗的动作所在的视图。

主视图在代码中的取值关键字为rootRecord,获取主视图内数据的id则为rootRecord.id

三、场景设置介绍

(一)服务端动作关闭弹窗后,刷新主视图的数据

(二)服务端动作关闭弹窗后,刷新打开该弹窗的表格行的数据

二、界面设计器配置

(一)在 o2m、m2m 表格字段弹窗中携带当前视图数据

假设我们设计了一个包含 o2m、m2m 表格字段的表单页面。打开相关弹窗时,需将表单中的 code 数据传递至弹窗中。

  1. 选择相应的「动作」,如创建或添加。在右侧属性面板底部找到「上下文」,添加格式为对象 {} 的上下文信息。
  2. 以键值对的格式添加上下文信息:{code: rootRecord.code}。
  3. 设计弹窗时,将 code 字段拖入弹窗中。
  4. 完成设计后保存并发布。

大家可以看到,在当前上下文中,key 为 code,而 value 则是 rootRecord.code。此处选用 rootRecord 而非 activeRecord,原因在于前文已阐述,若当前动作配置于 o2m(一对多)、m2m(多对多)的字段表格之上,此时 activeRecord 指的是表格中被选中的行。然而,我们当前的需求是获取表单上的 code 字段,所以必须使用 rootRecord。

特别需要注意的是:key 必须是提交模型【前端视图】中实际存在的字段,如此方能进行传递操作。

编辑此页
最近更新:2025/6/6 10:57
上一页
按钮:如何在业务模型的列表中展示工作流的审批按钮
下一页
网络请求:OioProvider详解(自定义请求错误拦截)
默认页脚
Copyright © 2026 Mr.Hope