Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
Het JS Block is een zeer flexibel 'aangepast weergaveblok' waarmee u direct JavaScript-scripts kunt schrijven om interfaces te genereren, gebeurtenissen te koppelen, gegevens-API's aan te roepen of bibliotheken van derden te integreren. Het is geschikt voor gepersonaliseerde visualisaties, tijdelijke experimenten en lichtgewicht uitbreidingen die moeilijk te realiseren zijn met ingebouwde blokken.
De runtime context van het JS Block is voorzien van veelgebruikte functionaliteiten die u direct kunt gebruiken:
ctx.element: De DOM-container van het blok (veilig ingepakt als ElementProxy), met ondersteuning voor innerHTML, querySelector, addEventListener, enzovoort.ctx.requireAsync(url): Laadt asynchroon een AMD/UMD-bibliotheek via een URL.ctx.importAsync(url): Importeert dynamisch een ESM-module via een URL.ctx.openView: Opent een geconfigureerde weergave (pop-up/lade/pagina).ctx.useResource(...) + ctx.resource: Geeft toegang tot gegevens als een resource.ctx.i18n.t() / ctx.t(): Ingebouwde internationaliseringsfunctionaliteit.ctx.onRefReady(ctx.ref, cb): Rendert nadat de container gereed is om timingproblemen te voorkomen.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Ingebouwde bibliotheken zoals React, ReactDOM, Ant Design, Ant Design Icons en dayjs voor JSX-rendering en tijdbeheer. (ctx.React / ctx.ReactDOM / ctx.antd blijven behouden voor compatibiliteit.)ctx.render(vnode): Rendert een React-element, HTML-string of DOM-knooppunt naar de standaardcontainer ctx.element. Meerdere aanroepen hergebruiken dezelfde React Root en overschrijven de bestaande inhoud van de container.U kunt een JS Block toevoegen aan een pagina of een pop-up.

De scripteditor van het JS Block ondersteunt syntaxiskleuring, foutmeldingen en ingebouwde codefragmenten (Snippets). Hiermee kunt u snel veelvoorkomende voorbeelden invoegen, zoals het renderen van grafieken, het koppelen van knopgebeurtenissen, het laden van externe bibliotheken, het renderen van React/Vue-componenten, tijdlijnen, informatiekaarten, enzovoort.
Snippets: Opent de lijst met ingebouwde codefragmenten. U kunt zoeken en een geselecteerd fragment met één klik invoegen op de huidige cursorpositie in de code-editor.Run: Voert de code in de huidige editor direct uit en toont de uitvoerlogs in het Logs-paneel onderaan. Het ondersteunt het weergeven van console.log/info/warn/error, waarbij fouten worden gemarkeerd en u naar de specifieke rij en kolom kunt navigeren.
Bovendien kunt u rechtsboven in de editor direct de AI-medewerker 'Frontend Engineer · Nathan' oproepen. Nathan kan u helpen scripts te schrijven of te wijzigen op basis van de huidige context. U kunt vervolgens met één klik 'Apply to editor' toepassen en de code uitvoeren om het effect te bekijken. Zie voor meer details:
ctx.element (ElementProxy) voor het script, die alleen het huidige blok beïnvloedt en geen andere delen van de pagina verstoort.window/document/navigator gebruiken veilige proxy-objecten, waardoor veelvoorkomende API's beschikbaar zijn, terwijl risicovolle handelingen worden beperkt.class- of [name=...]-attribuutselectoren. Vermijd het gebruik van vaste id's om conflicten door dubbele id's in meerdere blokken of pop-ups te voorkomen, wat kan leiden tot problemen met stijlen of gebeurtenissen.