UI Schema
UI Schema es el protocolo que NocoBase utiliza para describir componentes de front-end. Está basado en Formily Schema 2.0 y sigue un estilo similar a JSON Schema. En FlowEngine, el campo uiSchema de registerFlow utiliza esta sintaxis para definir la UI del panel de configuración.
Uso básico
El componente más simple
Todas las etiquetas HTML nativas se pueden expresar como schema:
Equivalente en JSX:
Componentes hijos
Los componentes hijos se escriben dentro de properties:
Equivalente en JSX:
Descripción de las propiedades
type
Tipo del nodo:
name
Nombre del schema. El nombre de un nodo hijo es la clave dentro de properties:
title
Título del nodo; se utiliza habitualmente como etiqueta de los campos de un formulario.
x-component
Nombre del componente. Puede ser una etiqueta HTML nativa o un componente React registrado:
x-component-props
Propiedades del componente:
x-decorator
Componente envoltorio. La combinación x-decorator + x-component permite tener dos componentes en un mismo nodo del schema, lo que reduce la complejidad estructural y aumenta la reutilización.
Por ejemplo, en un formulario, FormItem actúa como decorator:
Equivalente en JSX:
x-display
Estado de visualización del componente:
x-pattern
Modo de interacción del componente de campo:
Uso en registerFlow
Durante el desarrollo de plugins, uiSchema se utiliza principalmente en el panel de configuración de registerFlow. Cada campo suele envolverse con 'x-decorator': 'FormItem':
La v2 mantiene la compatibilidad con la sintaxis de uiSchema, aunque sus casos de uso son limitados: se utiliza principalmente para describir la UI del formulario en el panel de configuración de Flow. Para la mayoría del renderizado de componentes en tiempo de ejecución, se recomienda emplear directamente los componentes de Antd.
Referencia rápida de componentes habituales
Enlaces relacionados
- Resumen de FlowEngine (desarrollo de plugins) — uso real de uiSchema en registerFlow
- Definición de Flow (FlowDefinition) — descripción completa de los parámetros de registerFlow
- Documentación de Formily Schema — el protocolo de Formily en el que se basa uiSchema

