Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
ctx.form
La instancia de Ant Design Form dentro del bloque actual, utilizada para leer y escribir campos del formulario, activar la validación y realizar el envío. Es equivalente a ctx.blockModel?.form y se puede utilizar directamente en bloques relacionados con formularios (Formulario, Formulario de edición, subformularios, etc.).
Escenarios de uso
Nota:
ctx.formsolo está disponible en contextos de RunJS relacionados con bloques de formulario (Formulario, Formulario de edición, subformularios, etc.). Es posible que no esté presente en escenarios que no sean de formulario (como bloques JS independientes o bloques de tabla). Se recomienda realizar una comprobación de valor nulo antes de su uso:ctx.form?.getFieldsValue().
Definición de tipo
FormInstance es el tipo de instancia de Ant Design Form. Los métodos comunes son los siguientes.
Métodos comunes
Lectura de valores del formulario
Escritura de valores del formulario
Validación y envío
Restablecer
Relación con otros contextos
ctx.getValue / ctx.setValue
Dentro del campo JS actual, priorice el uso de getValue/setValue para leer o escribir el propio campo; use ctx.form cuando necesite acceder a otros campos.
ctx.blockModel
ctx.getVar('ctx.formValues')
Los valores del formulario deben obtenerse a través de await ctx.getVar('ctx.formValues') y no se exponen directamente como ctx.formValues. En un contexto de formulario, es preferible usar ctx.form.getFieldsValue() para leer los valores más recientes en tiempo real.
Notas
getFieldsValue()devuelve solo los campos renderizados por defecto. Para incluir campos no renderizados (ej. en secciones colapsadas u ocultos por reglas condicionales), pasetrue:getFieldsValue(true).- Las rutas para campos anidados como subtablas son arreglos (arrays), ej.
['orders', 0, 'amount']. Puede usarctx.namePathpara obtener la ruta del campo actual y construir rutas para otras columnas en la misma fila. validateFields()lanza un objeto de error que contieneerrorFieldsy otra información. Si la validación falla antes del envío, puede usarctx.exit()para terminar los pasos posteriores.- En escenarios asíncronos como flujos de trabajo o reglas de vinculación, es posible que
ctx.formaún no esté listo. Se recomienda usar el encadenamiento opcional (optional chaining) o comprobaciones de nulos.
Ejemplos
Vinculación de campos: Mostrar contenido diferente según el tipo
Calcular el campo actual basado en otros campos
Leer/escribir otras columnas en la misma fila dentro de una subtabla
Validación previa al envío
Envío tras confirmación
Relacionado
- ctx.getValue() / ctx.setValue(): Leer y escribir el valor del campo actual.
- ctx.blockModel: Modelo del bloque padre;
ctx.formes equivalente actx.blockModel?.form. - ctx.modal: Diálogos de confirmación, a menudo usados con
ctx.form.validateFields()yctx.form.submit(). - ctx.exit(): Terminar el proceso ante un fallo de validación o cancelación del usuario.
ctx.namePath: La ruta (arreglo) del campo actual en el formulario, utilizada para construir nombres paragetFieldValue/setFieldValueen campos anidados.

