Эта документация была автоматически переведена ИИ.
Быстрый старт: Создание компонуемого компонента кнопки
В React мы обычно рендерим компонент кнопки следующим образом:
Хотя приведенный выше код прост, он представляет собой статический компонент и не может удовлетворить потребности no-code платформ в гибкой настройке и возможностях компоновки.
В FlowEngine NocoBase мы можем быстро создавать компоненты, поддерживающие конфигурацию и управляемые событиями, используя FlowModel + FlowDefinition, достигая таким образом более мощных no-code возможностей.
Шаг 1: Рендеринг компонента с помощью FlowModel
🧠 Ключевые концепции
FlowModel— это основная модель компонента в FlowEngine, инкапсулирующая логику компонента, возможности рендеринга и конфигурации.- Каждый компонент пользовательского интерфейса может быть инстанцирован и унифицированно управляться через
FlowModel.
📌 Шаги реализации
1. Создайте пользовательский класс модели
2. Создайте экземпляр модели
3. Выполните рендеринг с помощью <FlowModelRenderer />
Шаг 2: Добавление PropsFlow для настройки свойств кнопки
💡 Зачем использовать PropsFlow?
Использование Flow вместо статических свойств (props) позволяет реализовать:
- Динамическую конфигурацию
- Визуальное редактирование
- Воспроизведение и сохранение состояния
🛠 Ключевые изменения
1. Определите Flow для свойств кнопки
2. Используйте stepParams вместо статических props
✅ Использование
stepParams— это рекомендуемый подход в FlowEngine, так как он позволяет избежать проблем с несериализуемыми данными (такими как компоненты React).
3. Включите интерфейс настройки свойств
Шаг 3: Поддержка потока событий кнопки (EventFlow)
🎯 Сценарий: Показ диалогового окна подтверждения после нажатия кнопки
1. Прослушивание события onClick
Добавьте onClick неинтрузивным способом
2. Определение потока событий
Дополнительные примечания:
- Поток событий (EventFlow) позволяет гибко настраивать поведение кнопки через рабочий процесс, например, показывать всплывающие окна, сообщения, выполня ть вызовы API и т. д.
- Вы можете регистрировать различные потоки событий для разных событий (таких как
onClick,onMouseEnterи т. д.) для удовлетворения сложных бизнес-требований.
3. Настройка параметров потока событий
При создании модели вы можете настроить параметры потока событий по умолчанию через stepParams:
Сравнение моделей: ReactComponent vs FlowModel
Flow не меняет способ реализации компонентов. Он просто добавляет поддержку PropsFlow и EventFlow к ReactComponent, позволяя визуально настраивать и компоновать свойства и события компонента.

ReactComponent
FlowModel
Заключение
Выполнив три описанных выше шага, мы создали компонент кнопки, поддерживающий настройку и компоновку событий, со следующими преимуществами:
- 🚀 Визуальная настройка свойств (таких как заголовок, тип, иконка)
- 🔄 Обработка событий может управляться потоком (например, показ всплывающего окна по клику)
- 🔧 Поддержка будущих расширений (например, условная логика, привязка переменных и т. д.)
Этот шаблон также применим к любым компонентам пользовательского интерфейса, таким как формы, списки и диаграммы. В FlowEngine NocoBase все поддается компоновке.

