Início Rápido: Construindo um Componente de Botão Orquestrável
Em React, geralmente renderizamos um componente de botão assim:
Embora o código acima seja simples, ele é um componente estático e não consegue atender às necessidades de uma plataforma no-code em termos de configurabilidade e capacidade de orquestração.
No FlowEngine do NocoBase, podemos construir rapidamente componentes que suportam configuração e são orientados a eventos usando FlowModel + FlowDefinition, alcançando capacidades no-code mais poderosas.
Passo 1: Renderizando o Componente Usando FlowModel
🧠 Conceitos Chave
FlowModelé o modelo de componente central no FlowEngine, encapsulando a lógica do componente, a renderização e as capacidades de configuração.- Cada componente de UI pode ser instanciado e gerenciado de forma unificada através do
FlowModel.
📌 Etapas de Implementação
1. Crie uma classe de modelo personalizada
2. Crie uma instância do modelo
3. Renderize usando <FlowModelRenderer />
Esta documentação foi traduzida automaticamente por IA.
Passo 2: Adicione PropsFlow para Tornar as Propriedades do Botão Configuráveis
💡 Por que usar PropsFlow?
Usar Flow em vez de props estáticas permite:
- Configuração dinâmica
- Edição visual
- Replay e persistência de estado
🛠 Modificações Chave
1. Defina o Flow para as propriedades do botão
2. Use stepParams em vez de props estáticas
✅ Usar
stepParamsé a abordagem recomendada no FlowEngine, pois evita problemas com dados não serializáveis (como componentes React).
3. Habilite a interface de configuração de propriedades
Passo 3: Suporte ao Fluxo de Eventos do Botão (EventFlow)
🎯 Cenário: Exibir um diálogo de confirmação após clicar no botão
1. Ouça o evento onClick
Adicione onClick de forma não intrusiva
2. Defina o fluxo de eventos
Observações Adicionais:
- O Fluxo de Eventos (EventFlow) permite que o comportamento do botão seja configurado de forma flexível através de um fluxo, como exibir diálogos, mensagens, fazer chamadas de API, etc.
- Você pode registrar diferentes fluxos de eventos para diferentes eventos (como
onClick,onMouseEnter, etc.) para atender a requisitos de negócios complexos.
3. Configure os parâmetros do fluxo de eventos
Ao criar o modelo, você pode configurar os parâmetros padrão para o fluxo de eventos via stepParams:
Comparação de Modelos: ReactComponent vs FlowModel
O Flow não altera a forma como os componentes são implementados. Ele simplesmente adiciona suporte para PropsFlow e EventFlow a um ReactComponent, permitindo que as propriedades e eventos do componente sejam configurados e orquestrados visualmente.

ReactComponent
FlowModel
Resumo
Através dos três passos acima, completamos um componente de botão que suporta configuração e orquestração de eventos, com as seguintes vantagens:
- 🚀 Configure visualmente as propriedades (como título, tipo, ícone)
- 🔄 Respostas a eventos podem ser gerenciadas por um fluxo (ex: clique para exibir um diálogo)
- 🔧 Suporta extensões futuras (como lógica condicional, vinculação de variáveis, etc.)
Este padrão também é aplicável a qualquer componente de UI, como formulários, listas e gráficos. No FlowEngine do NocoBase, tudo é orquestrável.

