Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej
JS Block to wysoce elastyczny „niestandardowy blok renderujący”, który umożliwia bezpośrednie pisanie skryptów JavaScript do generowania interfejsów, wiązania zdarzeń, wywoływania API danych lub integrowania bibliotek zewnętrznych. Jest idealny do spersonalizowanych wizualizacji, tymczasowych eksperymentów i lekkich rozszerzeń, których trudno osiągnąć za pomocą wbudowanych bloków.
Kontekst wykonawczy bloku JS Block zawiera wstrzyknięte często używane funkcje, z których można korzystać bezpośrednio:
ctx.element: Kontener DOM bloku (bezpiecznie opakowany jako ElementProxy), obsługujący innerHTML, querySelector, addEventListener itp.ctx.requireAsync(url): Asynchronicznie ładuje bibliotekę AMD/UMD za pomocą adresu URL.ctx.importAsync(url): Dynamicznie importuje moduł ESM za pomocą adresu URL.ctx.openView: Otwiera skonfigurowany widok (okno wyskakujące/panel boczny/strona).ctx.useResource(...) + ctx.resource: Umożliwia dostęp do danych jako zasobu.ctx.i18n.t() / ctx.t(): Wbudowana funkcja internacjonalizacji.ctx.onRefReady(ctx.ref, cb): Renderuje po przygotowaniu kontenera, aby uniknąć problemów z synchronizacją.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Wbudowane biblioteki ogólnego przeznaczenia, takie jak React, ReactDOM, Ant Design, ikony Ant Design i dayjs, do renderowania JSX i obsługi daty/czasu. (ctx.React / ctx.ReactDOM / ctx.antd są zachowane dla kompatybilności.)ctx.render(vnode): Renderuje element React, ciąg HTML lub węzeł DOM do domyślnego kontenera ctx.element. Wielokrotne wywołania ponownie wykorzystają ten sam React Root i nadpiszą istniejącą zawartość kontenera.Blok JS Block można dodać do strony lub okna wyskakującego.

Edytor skryptów JS Block obsługuje podświetlanie składni, podpowiedzi błędów oraz wbudowane fragmenty kodu (Snippets), co pozwala na szybkie wstawianie typowych przykładów, takich jak: renderowanie wykresów, wiązanie zdarzeń przycisków, ładowanie bibliotek zewnętrznych, renderowanie komponentów React/Vue, osie czasu, karty informacyjne itp.
Snippets: Otwiera listę wbudowanych fragmentów kodu. Można wyszukiwać i jednym kliknięciem wstawić wybrany fragment w bieżącej pozycji kursora w edytorze kodu.Run: Bezpośrednio uruchamia kod w bieżącym edytorze i wyświetla logi wykonania w panelu Logs na dole. Obsługuje wyświetlanie console.log/info/warn/error, a błędy są podświetlane i można je zlokalizować w konkretnym wierszu i kolumnie.
Ponadto, w prawym górnym rogu edytora można bezpośrednio wywołać pracownika AI „Inżyniera Frontendowego · Nathana”, który pomoże Panu/Pani napisać lub zmodyfikować skrypty w oparciu o bieżący kontekst. Następnie, jednym kliknięciem „Apply to editor” można zastosować zmiany w edytorze i uruchomić kod, aby zobaczyć efekt. Szczegóły znajdą Państwo w:
ctx.element (ElementProxy) dla skryptu, który wpływa tylko na bieżący blok i nie zakłóca innych obszarów strony.window/document/navigator używają bezpiecznych obiektów proxy, umożliwiając korzystanie z typowych API przy jednoczesnym ograniczaniu ryzykownych zachowań.class lub atrybutów [name=...]. Unikaj używania stałych id, aby zapobiec konfliktom stylów lub zdarzeń wynikającym z powtarzających się id w wielu blokach lub oknach wyskakujących.