Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
Eine ElementProxy-Instanz, die auf den Sandbox-DOM-Container verweist und als Standard-Rendering-Ziel für ctx.render() dient. Sie ist in Szenarien verfügbar, in denen ein Rendering-Container existiert, wie z. B. JSBlock, JSField, JSItem und JSColumn.
| Szenario | Beschreibung |
|---|---|
| JSBlock | Der DOM-Container des Blocks, der zum Rendern benutzerdefinierter Block-Inhalte verwendet wird. |
| JSField / JSItem / FormJSFieldItem | Der Rendering-Container für ein Feld oder ein Formularelement (normalerweise ein <span>). |
| JSColumn | Der DOM-Container für eine Tabellenzelle, der zum Rendern benutzerdefinierter Spalteninhalte verwendet wird. |
Hinweis:
ctx.elementist nur in RunJS-Kontexten verfügbar, die über einen Rendering-Container verfügen. In Szenarien ohne UI-Kontext (wie z. B. reine Backend-Logik) kann dieser Wertundefinedsein. Es wird empfohlen, vor der Verwendung eine Prüfung auf Nullwerte durchzuführen.
Empfohlen: Alle Rendering-Vorgänge sollten über ctx.render() erfolgen. Vermeiden Sie die direkte Verwendung der DOM-APIs von ctx.element (z. B. innerHTML, appendChild, querySelector usw.).
| Vorteil | Beschreibung |
|---|---|
| Sicherheit | Zentrale Sicherheitskontrolle zur Vermeidung von XSS und unsachgemäßen DOM-Operationen. |
| React-Unterstützung | Vollständige Unterstützung für JSX, React-Komponenten und Lebenszyklen. |
| Kontext-Vererbung | Erbt automatisch den ConfigProvider, Themes usw. der Anwendung. |
| Konfliktbehandlung | Automatische Verwaltung der Erstellung und Aufhebung von React-Roots, um Konflikte zwischen mehreren Instanzen zu vermeiden. |
ctx.element.innerHTMList veraltet. Bitte verwenden Sie stattdessenctx.render().
Wenn Sie ein Popover öffnen müssen, das das aktuelle Element als Anker verwendet, können Sie auf ctx.element?.__el zugreifen, um das native DOM als target zu erhalten:
Verwenden Sie
__elnur in solchen Szenarien, in denen der aktuelle Container als Anker dient; manipulieren Sie das DOM in anderen Fällen nicht direkt.
ctx.render(vnode) ohne das Argument container aufgerufen wird, erfolgt das Rendering standardmäßig in den Container ctx.element.ctx.element fehlt als auch kein container übergeben wurde, wird ein Fehler ausgelöst.ctx.render(vnode, customContainer).ctx.element ist für die interne Verwendung durch ctx.render() vorgesehen. Der direkte Zugriff auf oder die Änderung seiner Eigenschaften/Methoden wird nicht empfohlen.ctx.element gleich undefined. Stellen Sie sicher, dass der Container verfügbar ist, oder übergeben Sie manuell einen container, bevor Sie ctx.render() aufrufen.innerHTML/outerHTML in ElementProxy über DOMPurify bereinigt werden, wird dennoch empfohlen, ctx.render() für eine einheitliche Rendering-Verwaltung zu verwenden.