Avis de traduction IA
Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
Élément JS
Introduction
L'Élément JS est utilisé pour les "éléments personnalisés" (non liés à un champ) dans un formulaire. Vous pouvez utiliser JavaScript/JSX pour afficher n'importe quel contenu (comme des astuces, des statistiques, des aperçus, des boutons, etc.) et interagir avec le formulaire et le contexte de l'enregistrement. Il est idéal pour des scénarios tels que les aperçus en temps réel, les messages d'information et les petits composants interactifs.

API du contexte d'exécution (Utilisation courante)
ctx.element: Le conteneur DOM (ElementProxy) de l'élément actuel, prenant en chargeinnerHTML,querySelector,addEventListener, etc.ctx.form: L'instance du formulaire AntD, permettant des opérations commegetFieldValue / getFieldsValue / setFieldsValue / validateFields, etc.ctx.blockModel: Le modèle du bloc de formulaire auquel il appartient, qui peut écouterformValuesChangepour implémenter la liaison.ctx.record/ctx.collection: L'enregistrement actuel et les métadonnées de la collection (disponibles dans certains scénarios).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(viewUid, options): Ouvre une vue configurée (tiroir/boîte de dialogue/page).ctx.message/ctx.notification: Messages et notifications globales.ctx.t()/ctx.i18n.t(): Internationalisation.ctx.onRefReady(ctx.ref, cb): Rend l'élément une fois que le conteneur est prêt.ctx.libs.React/ctx.libs.ReactDOM/ctx.libs.antd/ctx.libs.antdIcons/ctx.libs.dayjs: Bibliothèques intégrées React, ReactDOM, Ant Design, icônes Ant Design et dayjs, utilisées pour le rendu JSX et les utilitaires de date/heure. (ctx.React/ctx.ReactDOM/ctx.antdsont conservés pour des raisons de compatibilité.)ctx.render(vnode): Rend un élément React/HTML/DOM dans le conteneur par défautctx.element. Plusieurs rendus réutiliseront le Root et écraseront le contenu existant du conteneur.
Éditeur et extraits de code
Snippets: Ouvre une liste d'extraits de code intégrés, vous permettant de les rechercher et de les insérer en un clic à la position actuelle du curseur.Run: Exécute directement le code actuel et affiche les journaux d'exécution dans le panneauLogsen bas. Il prend en chargeconsole.log/info/warn/erroret la mise en évidence des erreurs.

- Peut être utilisé avec l'Employé IA pour générer/modifier des scripts : Employé IA · Nathan : Ingénieur Frontend
Cas d'utilisation courants (Exemples simplifiés)
1) Aperçu en temps réel (Lecture des valeurs du formulaire)
2) Ouvrir une vue (Tiroir)
3) Charger et rendre des bibliothèques externes
Remarques
- Il est recommandé d'utiliser un CDN de confiance pour le chargement des bibliothèques externes et de prévoir un mécanisme de secours en cas d'échec (par exemple,
if (!lib) return;). - Il est conseillé de privilégier l'utilisation de
classou[name=...]pour les sélecteurs et d'éviter lesidfixes afin de prévenir les doublons d'iddans plusieurs blocs/fenêtres contextuelles. - Nettoyage des événements : Les changements fréquents des valeurs du formulaire déclencheront plusieurs rendus. Avant de lier un événement, il doit être nettoyé ou dédoublonné (par exemple,
removeavantadd, utiliser{ once: true }, ou un attributdatasetpour éviter les doublons).

