Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
Abre de forma programática una vista especificada (cajón, diálogo, página incrustada, etc.). Proporcionado por FlowModelContext, se utiliza para abrir vistas configuradas de ChildPage o PopupAction en escenarios como JSBlock, celdas de tabla y flujos de trabajo.
| Escenario | Descripción |
|---|---|
| JSBlock | Abrir un diálogo de detalle o edición tras hacer clic en un botón, pasando el filterByTk de la fila actual. |
| Celda de tabla | Renderizar un botón dentro de una celda que abre un diálogo de detalle de fila al hacer clic. |
| Flujo de trabajo / JSAction | Abrir la siguiente vista o un diálogo después de una operación exitosa. |
| Campo de asociación | Abrir un diálogo de selección o edición a través de ctx.runAction('openView', params). |
Nota:
ctx.openViewestá disponible en un entorno RunJS donde exista un contexto deFlowModel. Si el modelo correspondiente aluidno existe, se creará y persistirá automáticamente unPopupActionModel.
El identificador único del modelo de vista. Si no existe, se creará y guardará automáticamente. Se recomienda usar un UID estable, como ${ctx.model.uid}-detail, para que la configuración pueda reutilizarse al abrir el mismo diálogo varias veces.
| Campo | Tipo | Descripción |
|---|---|---|
mode | drawer / dialog / embed | Método de apertura: cajón (drawer), diálogo (dialog) o incrustado (embed). Por defecto es drawer. |
size | small / medium / large | Tamaño del diálogo o cajón. Por defecto es medium. |
title | string | Título de la vista. |
params | Record<string, any> | Parámetros arbitrarios pasados a la vista. |
filterByTk | any | Valor de la clave primaria, utilizado para escenarios de detalle o edición de un solo registro. |
sourceId | string | ID del registro de origen, utilizado en escenarios de asociación. |
dataSourceKey | string | Fuente de datos. |
collectionName | string | Nombre de la colección. |
associationName | string | Nombre del campo de asociación. |
navigation | boolean | Indica si se debe usar la navegación por rutas. Si se proporcionan defineProperties o defineMethods, se establece forzosamente en false. |
preventClose | boolean | Indica si se debe evitar el cierre. |
defineProperties | Record<string, PropertyOptions> | Inyecta dinámicamente propiedades en el modelo dentro de la vista. |
defineMethods | Record<string, Function> | Inyecta dinámicamente métodos en el modelo dentro de la vista. |
Cuando un modelo está configurado con una acción openView (como campos de asociación o campos clicables), usted puede llamar a:
| Propósito | Uso recomendado |
|---|---|
| Abrir una vista de flujo configurada | ctx.openView(uid, options) |
| Abrir contenido personalizado (sin flujo) | ctx.viewer.dialog() / ctx.viewer.drawer() |
| Operar en la vista abierta actualmente | ctx.view.close(), ctx.view.inputArgs |
ctx.openView abre una FlowPage (ChildPageModel), que renderiza internamente una página de flujo completa; ctx.viewer abre contenido arbitrario de React.
uid con ctx.model.uid (por ejemplo, ${ctx.model.uid}-xxx) para evitar conflictos entre múltiples bloques.defineProperties o defineMethods, navigation se fuerza a false para evitar la pérdida de contexto tras una actualización.ctx.view se refiere a la instancia de la vista actual, y ctx.view.inputArgs se puede usar para leer los parámetros pasados durante la apertura.