ctx.openView()
以编程方式打开指定视图(抽屉、弹窗、内嵌页等)。由 FlowModelContext 提供,用于在 JSBlock、表格单元格、事件流等场景中打开已配置的 ChildPage 或 PopupAction 视图。
适用场景
注意:
ctx.openView需在存在 FlowModel 上下文的 RunJS 环境中可用;若 uid 对应的模型不存在,会自动创建 PopupActionModel 并持久化。
签名
参数说明
uid
视图模型的唯一标识。若不存在则会自动创建并保存。建议使用稳定的 UID,如 ${ctx.model.uid}-detail,以便多次打开同一弹窗时复用配置。
options 常用字段
示例
基础用法:打开抽屉
传入当前行上下文
通过 runAction 打开
当模型配置了 openView 动作(如关联字段、可点击字段)时,可调用:
注入自定义上下文
与 ctx.viewer、ctx.view 的关系
ctx.openView 打开的是 FlowPage(ChildPageModel),内部会渲染完整流程页面;ctx.viewer 打开的是任意 React 内容。
注意事项
- uid 建议与
ctx.model.uid关联(如${ctx.model.uid}-xxx),避免多个 区块冲突 - 传入
defineProperties/defineMethods时,navigation会被强制设为false,以防止刷新后上下文丢失 - 弹窗内的
ctx.view指向当前视图实例,ctx.view.inputArgs可读取打开时传入的参数

