Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
ctx.blockModel
El modelo del bloque padre (instancia de BlockModel) donde se encuentra el campo JS o bloque JS actual. En escenarios como JSField, JSItem y JSColumn, ctx.blockModel apunta al bloque de formulario o bloque de tabla que contiene la lógica JS actual. En un JSBlock independiente, puede ser null o el mismo que ctx.model.
Escenarios de uso
Nota:
ctx.blockModelsolo está disponible en contextos de RunJS donde existe un bloque padre. En bloquesJSBlockindependientes (sin un formulario o tabla padre), puede sernull. Se recomienda realizar una comprobación de nulidad antes de su uso.
Definición de tipos
El tipo específico depende del tipo de bloque padre: los bloques de formulario suelen ser FormBlockModel o EditFormModel, mientras que los bloques de tabla suelen ser TableBlockModel.
Propiedades comunes
Relación con ctx.model y ctx.form
En un JSField, ctx.model es el modelo de campo y ctx.blockModel es el bloque de formulario o tabla que contiene ese campo; ctx.form suele ser ctx.blockModel.form.
Ejemplos
Tabla: Obtener filas seleccionadas y procesar
Escenario de formulario: Validar y actualizar
Escuchar cambios en el formulario
Activar el redibujado (re-render) del bloque
Notas
- En un JSBlock independiente (sin un bloque de formulario o tabla padre),
ctx.blockModelpuede sernull. Se recomienda utilizar el encadenamiento opcional (optional chaining) al acceder a sus propiedades:ctx.blockModel?.resource?.refresh?.(). - En JSField / JSItem / JSColumn,
ctx.blockModelse refiere al bloque de formulario o tabla que contiene el campo actual. En un JSBlock, puede ser él mismo o un bloque de nivel superior, dependiendo de la jerarquía real. resourcesolo existe en bloques de datos;formsolo existe en bloques de formulario. Los bloques de tabla normalmente no tienen unform.
Relacionado
- ctx.model: El modelo del contexto de ejecución actual.
- ctx.form: Instancia de formulario, comúnmente utilizada en bloques de formulario.
- ctx.resource: Instancia de recurso (equivalente a
ctx.blockModel?.resource, úselo directamente si está disponible). - ctx.getModel(): Obtener otros modelos de bloque por UID.

