Cette documentation a été traduite automatiquement par IA.
La colonne JS est utilisée pour les « colonnes personnalisées » dans les tableaux, permettant de rendre le contenu de chaque cellule d'une ligne via JavaScript. Elle n'est pas liée à un champ spécifique et convient parfaitement aux scénarios tels que les colonnes dérivées, les affichages combinés de plusieurs champs, les badges de statut, les boutons d'action et l'agrégation de données distantes.

Lors du rendu de chaque cellule, la colonne JS met à votre disposition les API de contexte suivantes :
ctx.element : Le conteneur DOM de la cellule actuelle (ElementProxy), prenant en charge innerHTML, querySelector, addEventListener, etc. ;ctx.record : L'objet d'enregistrement de la ligne actuelle (lecture seule) ;ctx.recordIndex : L'index de la ligne dans la page actuelle (commence à 0, peut être affecté par la pagination) ;ctx.collection : Les métadonnées de la collection liée au tableau (lecture seule) ;ctx.requireAsync(url) : Charge de manière asynchrone une bibliothèque AMD/UMD via une URL ;ctx.importAsync(url) : Importe dynamiquement un module ESM via une URL ;ctx.openView(options) : Ouvre une vue configurée (modale/tiroir/page) ;ctx.i18n.t() / ctx.t() : Internationalisation ;ctx.onRefReady(ctx.ref, cb) : Effectue le rendu une fois le conteneur prêt ;ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs : Les bibliothèques intégrées React, ReactDOM, Ant Design, les icônes Ant Design et dayjs, utilisées pour le rendu JSX et les utilitaires de date/heure. (ctx.React / ctx.ReactDOM / ctx.antd sont conservées pour la compatibilité.)ctx.render(vnode) : Rend un élément React/HTML/DOM dans le conteneur par défaut ctx.element (la cellule actuelle). Plusieurs rendus réutiliseront la racine et écraseront le contenu existant du conteneur.L'éditeur de script de la colonne JS prend en charge la coloration syntaxique, les indications d'erreur et les extraits de code (snippets) intégrés.
Snippets : Ouvre la liste des extraits de code intégrés, vous permettant de les rechercher et de les insérer à la position actuelle du curseur en un seul clic.Run : Exécute directement le code actuel. Le journal d'exécution est affiché dans le panneau Logs en bas, prenant en charge console.log/info/warn/error et la mise en évidence des erreurs.
Vous pouvez également utiliser un employé IA pour générer du code :
if (!lib) return;).class ou [name=...] plutôt que des id fixes, afin d'éviter les doublons d'id dans plusieurs blocs ou modales.