Esta documentación ha sido traducida automáticamente por IA.
La Columna JS se utiliza para las "columnas personalizadas" en las tablas, renderizando el contenido de cada celda de una fila mediante JavaScript. No está vinculada a un campo específico y es ideal para escenarios como columnas derivadas, visualizaciones combinadas de varios campos, insignias de estado, botones de acción y agregación de datos remotos.

Al renderizar cada celda, la Columna JS proporciona las siguientes capacidades de API de contexto:
ctx.element: El contenedor DOM de la celda actual (ElementProxy), compatible con innerHTML, querySelector, addEventListener, etc.ctx.record: El objeto de registro de la fila actual (solo lectura).ctx.recordIndex: El índice de la fila dentro de la página actual (comienza en 0, puede verse afectado por la paginación).ctx.collection: Los metadatos de la colección vinculada a la tabla (solo lectura).ctx.requireAsync(url): Carga asincrónicamente 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 (modal/cajón/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, útiles para la renderización JSX y el manejo de fechas y horas. (ctx.React / ctx.ReactDOM / ctx.antd se mantienen por compatibilidad.)ctx.render(vnode): Renderiza un elemento React/HTML/DOM en el contenedor predeterminado ctx.element (la celda actual). Múltiples renderizaciones reutilizarán el Root y sobrescribirán el contenido existente del contenedor.El editor de scripts de la Columna JS es compatible con el resaltado de sintaxis, las sugerencias de errores y los fragmentos de código (Snippets) integrados.
Snippets: Abre la lista de fragmentos de código integrados, permitiéndole buscar e insertarlos en la posición actual del cursor con un solo clic.Run: Ejecuta el código actual directamente. El registro de ejecución se muestra en el panel Logs inferior, compatible con console.log/info/warn/error y resaltado de errores.
También puede utilizar un Empleado de IA para generar código:
if (!lib) return;).class o [name=...] en lugar de id fijos, para evitar la duplicación de id en múltiples bloques o modales.