Уведомление о переводе ИИ
Эта документация была автоматически переведена ИИ.
Обзор расширений блоков
В NocoBase 2.0 механизм расширения блоков был значительно упрощен. Разработчикам достаточно унаследовать соответствующий базовый класс FlowModel и реализовать необходимые методы интерфейса (в основном метод renderComponent()), чтобы быстро создавать собственные блоки.
Категории блоков
NocoBase делит блоки на три категории, которые отображаются в группах в интерфейсе конфигурации:
- Блоки данных (Data blocks): Блоки, наследующие
DataBlockModel или CollectionBlockModel.
- Блоки фильтров (Filter blocks): Блоки, наследующие
FilterBlockModel.
- Другие блоки (Other blocks): Блоки, напрямую наследующие
BlockModel.
Группировка блоков определяется соответствующим базовым классом. Логика классификации основана на отношениях наследования и не требует дополнительной настройки.
Описание базовых классов
Система предоставляет четыре базовых класса для расширений:
BlockModel
Базовая модель блока, самый универсальный базовый класс для блоков.
- Подходит для блоков, предназначенных только для отображения и не зависящих от данных.
- Относится к группе Other blocks (Другие блоки).
- Применим для индивидуальных сценариев.
DataBlockModel
Модель блока данных (не привязанная к таблице данных), предназначена для блоков с пользовательскими источниками данных.
- Не привязывается напрямую к таблице данных, позволяет настраивать логику получения данных.
- Относится к группе Data blocks (Блоки данных).
- Применим для: вызова внешних API, пользовательской обработки данных, статистических диаграмм и т.д.
CollectionBlockModel
Модель блока коллекции, для блоков, которые должны быть привязаны к таблице данных.
- Базовый класс модели, требующий привязки к таблице данных.
- Относится к группе Data blocks (Блоки данных).
- Применим для: списков, форм, канбан-досок и других блоков, явно зависящих от определенной таблицы данных.
FilterBlockModel
Модель блока фильтра, используется для создания блоков условий фильтрации.
- Базовый класс модели для построения условий фильтрации.
- Относится к группе Filter blocks (Блоки фильтров).
- Обычно работает в связке с блоками данных.
Как выбрать базовый класс
При выборе базового класса вы можете следовать следующим принципам:
- Если требуется привязка к определенной таблице данных: Отдайте предпочтение
CollectionBlockModel.
- Если источник данных пользовательский: Выберите
DataBlockModel.
- Если блок предназначен для установки условий фильтрации и взаимодействия с блоками данных: Выберите
FilterBlockModel.
- Если вы не уверены, как классифицировать блок: Выберите
BlockModel.
Быстрый старт
Создание пользовательского блока требует всего три шага:
- Унаследуйте соответствующий базовый класс (например,
BlockModel).
- Реализуйте метод
renderComponent(), который возвращает React-компонент.
- Зарегистрируйте модель блока в плагине.
Подробные примеры вы найдете в разделе Написание плагина блока.