Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej
JS Item służy do tworzenia „niestandardowych elementów” (niepowiązanych z polem) w formularzu. Mogą Państwo używać JavaScript/JSX do renderowania dowolnej zawartości (takiej jak wskazówki, statystyki, podglądy, przyciski itp.) oraz do interakcji z formularzem i kontekstem rekordu. Jest to idealne rozwiązanie do scenariuszy takich jak podglądy w czasie rzeczywistym, wskazówki instruktażowe i małe interaktywne komponenty.

ctx.element: Kontener DOM (ElementProxy) bieżącego elementu, obsługujący innerHTML, querySelector, addEventListener itp.ctx.form: Instancja formularza AntD, umożliwiająca operacje takie jak getFieldValue / getFieldsValue / setFieldsValue / validateFields itp.ctx.blockModel: Model bloku formularza, do którego należy, który może nasłuchiwać zmian formValuesChange w celu implementacji powiązań.ctx.record / ctx.collection: Bieżący rekord i metadane kolekcji (dostępne w niektórych scenariuszach).ctx.requireAsync(url): Asynchroniczne ładowanie biblioteki AMD/UMD za pomocą adresu URL.ctx.importAsync(url): Dynamiczne importowanie modułu ESM za pomocą adresu URL.ctx.openView(viewUid, options): Otwieranie skonfigurowanego widoku (szuflady/okna dialogowego/strony).ctx.message / ctx.notification: Globalne komunikaty i powiadomienia.ctx.t() / ctx.i18n.t(): Internacjonalizacja.ctx.onRefReady(ctx.ref, cb): Renderowanie po gotowości kontenera.ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: Wbudowane biblioteki React, ReactDOM, Ant Design, ikon Ant Design i dayjs, przeznaczone 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/HTML/DOM do domyślnego kontenera ctx.element. Wielokrotne renderowanie spowoduje ponowne użycie Root i nadpisanie istniejącej zawartości kontenera.Snippets: Otwiera listę wbudowanych fragmentów kodu, umożliwiając wyszukiwanie i wstawianie ich w bieżącej pozycji kursora jednym kliknięciem.Run: Bezpośrednio wykonuje bieżący kod i wyświetla dzienniki wykonania w panelu Logs na dole. Obsługuje console.log/info/warn/error oraz podświetlanie błędów.
if (!lib) return;).class lub [name=...] i unikanie stałych id, aby zapobiec duplikowaniu id w wielu blokach/oknach pop-up.remove, potem add, użyć { once: true } lub oznaczyć dataset w celu zapobiegania duplikatom).