logologo
Начало
Руководство
Разработка
Плагины
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Начало
Руководство
Разработка
Плагины
API
logologo

Быстрый старт

Введение
Создание плагина блока
Next PageВведение
Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

#Обзор расширений блоков

В 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.

#Быстрый старт

Создание пользовательского блока требует всего три шага:

  1. Унаследуйте соответствующий базовый класс (например, BlockModel).
  2. Реализуйте метод renderComponent(), который возвращает React-компонент.
  3. Зарегистрируйте модель блока в плагине.

Подробные примеры вы найдете в разделе Написание плагина блока.