Этот документ был переведён с помощью ИИ. Для получения точной информации обратитесь к английской версии.
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(): получить текущее значение формы (приоритет отдается состоянию формы, затем свойствам поля).ctx.setValue(v): установить значение формы и свойства поля, поддерживая двустороннюю синхронизацию.js-field:value-change: срабатывает при изменении внешнего значения, что упрощает обновление отображения ввода скриптом.Редактор скриптов JS Field поддерживает подсветку синтаксиса, подсказки об ошибках и встроенные фрагменты кода (Snippets).
Snippets: открыть список встроенных фрагментов кода, которые можно найти и вставить в текущую позицию курсора одним щелчком.Run: напрямую запустить текущий код, журнал выполнения выводится на нижнюю панель Logs, поддерживается console.log/info/warn/error и подсветка ошибок для позиционирования.
Можно комбинировать с AI-сотрудником для генерации кода:
if (!lib) return;).class или [name=...], избегая использования фиксированных id, чтобы предотвратить дублирование id в нескольких блоках или всплывающих окнах.