Ten dokument został przetłumaczony przez AI. Aby uzyskać dokładne informacje, zapoznaj się z wersją angielską.
JS Field służy do niestandardowego renderowania treści w miejscu pola za pomocą JavaScript. Jest powszechnie stosowany w blokach szczegółów, elementach formularzy tylko do odczytu lub jako „Inne niestandardowe elementy” w kolumnach tabeli. Nadaje się do spersonalizowanej prezentacji, łączenia informacji pochodnych, odznak statusu, tekstu sformatowanego lub wykresów.

ctx.value do renderowania danych wyjściowych.ctx.getValue()/ctx.setValue(v) oraz zdarzenie kontenera js-field:value-change, ułatwiając dwukierunkową synchronizację z wartościami formularza.Typ tylko do odczytu
Typ edytowalny
Kod środowiska uruchomieniowego JS Field może bezpośrednio korzystać z następujących możliwości kontekstu:
ctx.element: Kontener DOM pola (ElementProxy), obsługuje innerHTML, querySelector, addEventListener itp.;ctx.value: Bieżąca wartość pola (tylko do odczytu);ctx.record: Bieżący obiekt rekordu (tylko do odczytu);ctx.collection: Metadane kolekcji, do której należy pole (tylko do odczytu);ctx.requireAsync(url): Asynchroniczne ładowanie bibliotek AMD/UMD za pomocą adresu URL;ctx.importAsync(url): Dynamiczne importowanie modułów ESM za pomocą adresu URL;ctx.openView(options): Otwieranie skonfigurowanego widoku (okno podręczne/szuflada/strona);ctx.i18n.t() / ctx.t(): Internacjonalizacja;ctx.onRefReady(ctx.ref, cb): Renderowanie po przygotowaniu kontenera;ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula: Wbudowane biblioteki React / ReactDOM / Ant Design / Ikony Ant Design / dayjs / lodash / math.js / formula.js i inne uniwersalne biblioteki, używane do renderowania JSX, obsługi czasu, operacji na danych i obliczeń matematycznych. (ctx.React / ctx.ReactDOM / ctx.antd są nadal zachowane dla kompatybilności.)ctx.render(vnode): Renderuje element React, ciąg HTML lub węzeł DOM do domyślnego kontenera ctx.element; powtarzające się renderowanie spowoduje ponowne użycie Roota i nadpisanie istniejącej zawartości kontenera.Specyficzne dla typu edytowalnego (JSEditableField):
ctx.getValue(): Pobiera bieżącą wartość formularza (priorytetowo traktuje stan formularza, a następnie właściwości pola).ctx.setValue(v): Ustawia wartość formularza i właściwości pola, zachowując dwukierunkową synchronizację.js-field:value-change: Wyzwalane, gdy zmienia się wartość zewnętrzna, ułatwiając skryptowi aktualizację wyświetlania danych wejściowych.Edytor skryptów JS Field obsługuje podświetlanie składni, podpowiedzi błędów i wbudowane fragmenty kodu (Snippets).
Snippets: Otwiera listę wbudowanych fragmentów kodu, które można wyszukiwać i wstawiać w bieżącej pozycji kursora jednym kliknięciem.Run: Bezpośrednio uruchamia bieżący kod, dzienniki uruchamiania są wyprowadzane do panelu Logs na dole, obsługuje console.log/info/warn/error oraz lokalizację błędów poprzez podświetlanie.
Można połączyć z Pracownikiem AI w celu generowania kodu:
if (!lib) return;).class lub [name=...] i unikanie stałych id, aby zapobiec powielaniu id w wielu blokach lub oknach podręcznych.