Цей документ було перекладено за допомогою ШІ. Для точної інформації зверніться до англійської версії.
JS Item використовується для «кастомних елементів» (не прив'язаних до поля) у формах. Ви можете використовувати JavaScript/JSX для рендерингу будь-якого вмісту (підказок, статистики, попереднього перегляду, кнопок тощо) та взаємодіяти з формою та контекстом запису; підходить для сценаріїв попереднього перегляду в реальному часі, інструктивних підказок, невеликих інтерактивних компонентів тощо.

ctx.element: DOM-контейнер поточного елемента (ElementProxy), підтримує innerHTML, querySelector, addEventListener тощо;ctx.form: екземпляр форми AntD, дозволяє getFieldValue / getFieldsValue / setFieldsValue / validateFields тощо;ctx.blockModel: модель блоку форми, в якому він знаходиться, можна прослуховувати formValuesChange для реалізації взаємодії;ctx.record / ctx.collection: поточний запис та метаінформація колекції (доступно в деяких сценаріях);ctx.requireAsync(url): асинхронне завантаження бібліотек AMD/UMD за URL;ctx.importAsync(url): динамічний імпорт модулів ESM за URL;ctx.openView(viewUid, options): відкриття налаштованого вигляду (висувна панель/діалогове вікно/сторінка);ctx.message / ctx.notification: глобальні повідомлення та сповіщення;ctx.t() / ctx.i18n.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 та перезаписувати наявний вміст контейнера.Snippets: відкриває список вбудованих фрагментів коду, дозволяє шукати та вставляти їх у поточну позицію курсору одним кліком.Run: безпосередньо виконує поточний код та виводить логи виконання на панель Logs внизу; підтримує console.log/info/warn/error та підсвічування помилок.
if (!lib) return;).class або [name=...] для селекторів та уникати використання фіксованих id, щоб запобігти дублюванню id у кількох блоках/спливаючих вікнах.remove, потім add, або { once: true }, або використовувати dataset для запобігання повторам).