Расширение полей
В NocoBase компонент поля (Field) используется в таблицах и формах для отображения и редактирования данных. Унаследовав соответствующие базовые классы FieldModel, Вы можете кастомизир овать способ рендеринга поля — например, отображать определённый тип данных в специальном формате или редактировать через пользовательский компонент.
Пример: пользовательское отображаемое поле
Следующий пример создаёт простое отображаемое поле — добавляет квадратные скобки [] по обе стороны значения поля:

Несколько ключевых моментов:
renderComponent(value)— принимает текущее значение поля как параметр, возвращает рендеримый JSXthis.context.record— получение полной записи данных текущей строкиthis.context.recordIndex— получение индекса текущей строкиClickableFieldModel— наследуетFieldModel, имеет возможность взаимодействия по кликуDisplayItemModel.bindModelToInterface()— привязывает модель поля к указанному типу интерфейса поля (например,inputозначает поле текстового ввода). Так в полях соответствующего типа можно будет выбрать этот компонент отображения
Регистрация поля
В load() Plugin зарегистрируйте через registerModelLoaders для ленивой загрузки:
После регистрации в блоке таблицы найдите столбец поля соответствующего типа (например, в примере выше привязано к input — соответствует полю однострочного текста), нажмите кнопку настройки столбца — в выпадающем меню «Компонент поля» можно будет переключиться на этот пользовательский компонент отображения. Полный практический пример см. в Создание пользовательского компонента поля.

Полный исходный код
- @nocobase-example/plugin-field-simple — пример пользовательского компонента поля
Связанные ссылки
- Практика плагинов: создание пользовательского компонента поля — построение пользовательского компонента отображения поля с нуля
- Практика плагинов: создание плагина управления данными с интеграцией фронтенда и бэкенда — практическое применение пользовательского поля в полноценном плагине
- Обзор FlowEngine — базовое использование FlowModel
- Расширение блоков — пользовательские блоки
- Расширение действий — пользовательские кнопки действий
- Определение FlowDefinition — полные параметры registerFlow и типы событий
- Полная документация FlowEngine — полный справочник

