Cette documentation a été traduite automatiquement par IA.
Le Bloc JS est un "bloc de rendu personnalisé" très flexible qui vous permet d'écrire directement du code JavaScript pour générer des interfaces, lier des événements, appeler des API de données ou intégrer des bibliothèques tierces. Il est idéal pour les visualisations personnalisées, les expérimentations temporaires et les scénarios d'extension légers que les blocs intégrés ne peuvent pas couvrir.
Le contexte d'exécution du Bloc JS intègre des fonctionnalités courantes que vous pouvez utiliser directement :
ctx.element : Le conteneur DOM du bloc (encapsulé de manière sécurisée en tant qu'ElementProxy), prenant en charge innerHTML, querySelector, addEventListener, etc.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 : Ouvre une vue configurée (fenêtre modale/tiroir latéral/page).ctx.useResource(...) + ctx.resource : Accède aux données en tant que ressource.ctx.i18n.t() / ctx.t() : Fonctionnalité d'internationalisation intégrée.ctx.onRefReady(ctx.ref, cb) : Effectue le rendu une fois le conteneur prêt pour éviter les problèmes de synchronisation.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs : Bibliothèques génériques intégrées telles que React, ReactDOM, Ant Design, les icônes Ant Design et dayjs, utilisées pour le rendu JSX et la gestion des dates/heures. (ctx.React / ctx.ReactDOM / ctx.antd sont conservés pour des raisons de compatibilité.)ctx.render(vnode) : Rend un élément React, une chaîne HTML ou un nœud DOM dans le conteneur par défaut ctx.element. Les appels multiples réutilisent la même racine React et écrasent le contenu existant du conteneur.Vous pouvez ajouter un Bloc JS à une page ou à une fenêtre modale.

L'éditeur de script du Bloc JS prend en charge la coloration syntaxique, les indications d'erreur et les extraits de code (Snippets) intégrés, vous permettant d'insérer rapidement des exemples courants tels que le rendu de graphiques, la liaison d'événements de bouton, le chargement de bibliothèques externes, le rendu de composants React/Vue, les chronologies, les cartes d'information, etc.
Snippets : Ouvre la liste des extraits de code intégrés. Vous pouvez rechercher et insérer un extrait sélectionné dans l'éditeur de code à la position actuelle du curseur en un seul clic.Run : Exécute directement le code de l'éditeur actuel et affiche les journaux d'exécution dans le panneau Logs en bas. Il prend en charge l'affichage de console.log/info/warn/error, et les erreurs sont mises en évidence avec la possibilité de les localiser à la ligne et à la colonne spécifiques.
De plus, vous pouvez directement invoquer l'employé IA "Ingénieur Frontend · Nathan" depuis le coin supérieur droit de l'éditeur. Nathan peut vous aider à écrire ou à modifier des scripts en fonction du contexte actuel. Vous pouvez ensuite "Apply to editor" (Appliquer à l'éditeur) en un clic et exécuter le code pour en voir l'effet. Pour plus de détails, consultez :
ctx.element (ElementProxy) pour le script, qui n'affecte que le bloc actuel et n'interfère pas avec les autres zones de la page.window/document/navigator utilisent des objets proxy sécurisés, permettant l'utilisation des API courantes tout en restreignant les comportements à risque.class) ou d'attribut ([name=...]). Évitez d'utiliser des id fixes pour prévenir les conflits de styles ou d'événements en cas de id dupliqués dans plusieurs blocs ou fenêtres modales.