Цей документ було перекладено за допомогою ШІ. Для точної інформації зверніться до англійської версії.
JS Field використовується для кастомного рендерингу вмісту в позиції поля за допомогою JavaScript, що часто зустрічається в блоках деталей, елементах форм лише для читання або як «інші кастомні елементи» в стовпцях таблиць. Підходить для персоналізованого відображення, комбінування похідної інформації, значків статусу, розширеного тексту або діаграм тощо.

ctx.value для рендерингу виводу.ctx.getValue()/ctx.setValue(v) та подію контейнера js-field:value-change для полегшення двосторонньої синхронізації зі значеннями форми.Тип лише для читання
Редагований тип
Код JS Field під час виконання може безпосередньо використовувати наступні можливості контексту:
ctx.element: DOM-контейнер поля (ElementProxy), підтримує innerHTML, querySelector, addEventListener тощо;ctx.value: поточне значення поля (лише для читання);ctx.record: поточний об'єкт запису (лише для читання);ctx.collection: метаінформація колекції, до якої належить поле (лише для читання);ctx.requireAsync(url): асинхронне завантаження бібліотеки AMD/UMD за URL;ctx.importAsync(url): динамічний імпорт модуля ESM за URL;ctx.openView(options): відкриття налаштованого вигляду (спливаюче вікно/висувна панель/сторінка);ctx.i18n.t() / ctx.t(): інтернаціоналізація;ctx.onRefReady(ctx.ref, cb): рендеринг після готовності контейнера;ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs / ctx.libs.lodash / ctx.libs.math / ctx.libs.formula: вбудовані бібліотеки React / ReactDOM / Ant Design / іконки Ant Design / dayjs / lodash / math.js / formula.js та інші універсальні бібліотеки для рендерингу JSX, обробки часу, маніпулювання даними та математичних обчислень. (ctx.React / ctx.ReactDOM / ctx.antd все ще зберігаються для сумісності.)ctx.render(vnode): рендерить React-елемент, HTML-рядок або DOM-вузол у контейнер за замовчуванням ctx.element; повторний рендеринг повторно використовує Root і перезаписує наявний вміст контейнера.Особливості редагованого типу (JSEditableField):
ctx.getValue(): отримати поточне значення форми (пріоритет надається стану форми, потім повертається до props поля).ctx.setValue(v): встановити значення форми та props поля, підтримуючи двосторонню синхронізацію.js-field:value-change: спрацьовує при зміні зовнішнього значення, що полегшує оновлення відображення введення скриптом.Редактор скриптів JS Field підтримує підсвічування синтаксису, підказки про помилки та вбудовані фрагменти коду (Snippets).
Snippets: відкрити список вбудованих фрагментів коду, які можна шукати та вставляти в поточну позицію курсору одним кліком.Run: безпосередньо запустити поточний код, лог виконання виводиться на панель Logs внизу, підтримується console.log/info/warn/error та підсвічування помилок для позиціонування.
Можна поєднувати з AI-співробітником для генерації коду:
if (!lib) return;).class або [name=...], уникайте використання фіксованих id, щоб запобігти повторенню id у кількох блоках/спливаючих вікнах.