Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
JS Column se utiliza para "columnas personalizadas" en tablas, renderizando el contenido de las celdas de cada fila a través de JavaScript. No se vincula a campos específicos, es adecuado para escenarios como columnas derivadas, visualización combinada de campos cruzados, insignias de estado, operaciones de botones, resumen de datos remotos, etc.

Cada celda de JS Column puede utilizar las siguientes capacidades de contexto al renderizarse:
ctx.element: El contenedor DOM de la celda actual (ElementProxy), admite 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 desde 0, puede verse afectado por la paginación);ctx.collection: Metainformación de la colección vinculada a la tabla (solo lectura);ctx.requireAsync(url): Carga de forma asíncrona librerías AMD/UMD por URL;ctx.importAsync(url): Importa dinámicamente módulos ESM por URL;ctx.openView(options): Abre una vista configurada (ventana emergente/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 / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula: Librerías comunes integradas como React / ReactDOM / Ant Design / Iconos de Ant Design / dayjs / lodash / math.js / formula.js, utilizadas para renderizado JSX, procesamiento de tiempo, manipulación de datos y operaciones matemáticas. (ctx.React / ctx.ReactDOM / ctx.antd se conservan por compatibilidad).ctx.render(vnode): Renderiza elementos 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 JS Column admite resaltado de sintaxis, sugerencias de errores y fragmentos de código (Snippets) integrados.
Snippets: Abre la lista de fragmentos de código integrados, puede buscar e insertar en la posición actual del cursor con un solo clic.Run: Ejecuta el código actual directamente, los registros de ejecución se muestran en el panel Logs inferior, admite console.log/info/warn/error y localización de errores con resaltado.
Puede combinarse con empleados de IA para generar código:
if (!lib) return;).class o [name=...] y evitar el uso de id fijos para prevenir la duplicación de id en múltiples bloques o ventanas emergentes.