Esta documentación ha sido traducida automáticamente por IA.
El Campo JS se utiliza para renderizar contenido personalizado con JavaScript en la posición de un campo. Es comúnmente empleado en bloques de detalles, elementos de solo lectura en formularios o como "Otros elementos personalizados" en columnas de tablas. Es ideal para mostrar información personalizada, combinar datos derivados, renderizar insignias de estado, texto enriquecido o gráficos.

ctx.value para renderizar la salida.ctx.getValue()/ctx.setValue(v) y un evento de contenedor js-field:value-change para facilitar la sincronización bidireccional con los valores del formulario.De solo lectura
Editable
El código en tiempo de ejecución del Campo JS puede utilizar directamente las siguientes capacidades de contexto:
ctx.element: El contenedor DOM del campo (ElementProxy), compatible con innerHTML, querySelector, addEventListener, etc.ctx.value: El valor actual del campo (solo lectura).ctx.record: El objeto de registro actual (solo lectura).ctx.collection: Metadatos de la colección a la que pertenece el campo (solo lectura).ctx.requireAsync(url): Carga asíncronamente una librería AMD/UMD por URL.ctx.importAsync(url): Importa dinámicamente un módulo ESM por URL.ctx.openView(options): Abre una vista configurada (ventana emergente/cajón lateral/página).ctx.i18n.t() / ctx.t(): Internacionalización.ctx.onRefReady(ctx.ref, cb): Renderiza después de que el contenedor esté listo.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Librerías integradas como React, ReactDOM, Ant Design, iconos de Ant Design y dayjs, utilizadas para la renderización JSX y utilidades de fecha y hora. (ctx.React / ctx.ReactDOM / ctx.antd se mantienen por compatibilidad.)ctx.render(vnode): Renderiza un elemento React, una cadena HTML o un nodo DOM en el contenedor predeterminado ctx.element. La renderización repetida reutilizará el Root y sobrescribirá el contenido existente del contenedor.Específico para el tipo Editable (JSEditableField):
ctx.getValue(): Obtiene el valor actual del formulario (prioriza el estado del formulario, luego recurre a las propiedades del campo).ctx.setValue(v): Establece el valor del formulario y las propiedades del campo, manteniendo la sincronización bidireccional.js-field:value-change: Se activa cuando un valor externo cambia, facilitando que el script actualice la visualización de la entrada.El editor de scripts del Campo JS es compatible con el resaltado de sintaxis, sugerencias de errores y fragmentos de código (Snippets) integrados.
Snippets: Abre una lista de fragmentos de código predefinidos, que se pueden buscar e insertar en la posición actual del cursor con un solo clic.Run: Ejecuta directamente el código actual. El registro de ejecución se muestra en el panel Logs inferior, compatible con console.log/info/warn/error y resaltado de errores para una fácil localización.
También puede generar código con el Empleado de IA:
if (!lib) return;).class o [name=...], y evitar el uso de id fijos para prevenir duplicidades en múltiples bloques o ventanas emergentes.