JS Item
Einführung
JS Item wird für „Benutzerdefinierte Elemente“ in Formularen verwendet (keine Feldbindung). Sie können JavaScript/JSX verwenden, um beliebige Inhalte zu rendern (Hinweise, Statistiken, Vorschauen, Schaltflächen usw.) und mit dem Formular- und Datensatz-Kontext zu interagieren. Es eignet sich für Szenarien wie Echtzeit-Vorschauen, Erläuterungshinweise, kleine interaktive Komponenten und Ähnliches.

Laufzeit-Kontext-API (häufig verwendet)
ctx.element: DOM-Container des aktuellen Elements (ElementProxy), unterstütztinnerHTML,querySelector,addEventListenerusw.;ctx.form: AntD Form-Instanz, ermöglichtgetFieldValue / getFieldsValue / setFieldsValue / validateFieldsusw.;ctx.blockModel: Modell des Formularblocks, in dem es sich befindet; kannformValuesChangeüberwachen, um Verknüpfungen zu implementieren;ctx.record/ctx.collection: Aktueller Datensatz und Metainformationen der Sammlung (in einigen Szenarien verfügbar);ctx.requireAsync(url): Lädt AMD/UMD-Bibliotheken asynchron per URL;ctx.importAsync(url): Importiert ESM-Module dynamisch per URL;ctx.openView(viewUid, options): Öffnet eine konfigurierte Ansicht (Schublade/Dialog/Seite);ctx.message/ctx.notification: Globale Hinweise und Benachrichtigungen;ctx.t()/ctx.i18n.t(): Internationalisierung;ctx.onRefReady(ctx.ref, cb): Rendert erst, wenn der Container bereit ist;ctx.libs.React/ctx.libs.ReactDOM/ctx.libs.antd/ctx.libs.antdIcons/ctx.libs.dayjs/ctx.libs.lodash/ctx.libs.math/ctx.libs.formula: Integrierte Bibliotheken wie React / ReactDOM / Ant Design / Ant Design Icons / dayjs / lodash / math.js / formula.js für JSX-Rendering, Zeitverarbeitung, Datenoperationen und mathematische Berechnungen. (ctx.React/ctx.ReactDOM/ctx.antdbleiben zur Kompatibilität erhalten.)ctx.render(vnode): Rendert React-Elemente/HTML/DOM in den Standard-Containerctx.element; bei mehrfachem Rendern wird die Root wiederverwendet und der vorhandene Inhalt des Containers überschrieben.
Editor und Snippets
Snippets: Öffnet eine Liste integrierter Code-Fragmente, die gesucht und mit einem Klick an der aktuellen Cursorposition eingefügt werden können.Run: Führt den aktuellen Code direkt aus und gibt die Protokolle im unteren BereichLogsaus; unterstütztconsole.log/info/warn/errorund Fehlerhervorhebung.

- Kann mit KI-Mitarbeitern kombiniert werden, um Skripte zu erstellen/zu ändern: KI-Mitarbeiter · Nathan: Frontend-Ingenieur
Häufige Verwendung (vereinfachte Beispiele)
1) Echtzeit-Vorschau (Formularwerte lesen)
2) Ansicht öffnen (Schublade)
3) Externe Bibliotheken laden und rendern
Hinweise
- Das Laden externer Bibliotheken sollte über vertrauenswürdige CDNs erfolgen; für Fehlerfälle sollten Rückfalloptionen vorgesehen werden (z. B.
if (!lib) return;). - Bei Selektoren sollten bevorzugt
classoder[name=...]verwendet werden; vermeiden Sie festeids, um doppelteids in mehreren Blöcken/Popups zu verhindern. - Ereignisbereinigung: Häufige Änderungen der Formularwerte lösen mehrfaches Rendern aus; vor dem Binden von Ereignissen sollten diese bereinigt oder dedupliziert werden (z. B. erst
remove, dannadd, oder{ once: true }, oder Markierung perdatasetzur Vermeidung von Duplikaten).

