UI Schema
UI Schema est le protocole utilisé par NocoBase pour décrire les composants frontend. Il est basé sur Formily Schema 2.0, dans un style proche de JSON Schema. Dans FlowEngine, le champ uiSchema de registerFlow utilise cette syntaxe pour définir l'UI du panneau de configuration.
Utilisation de base
Le composant le plus simple
Toutes les balises HTML natives peuvent être converties en notation schema :
Équivalent JSX :
Composants enfants
Les composants children sont écrits dans properties :
Équivalent JSX :
Description des attributs
type
Type du nœud :
name
Nom du schema. Le name d'un nœud enfant correspond à la clé dans properties :
title
Titre du nœud, généralement utilisé comme étiquette de champ de formulaire.
x-component
Nom du composant. Peut être une balise HTML native ou un composant React enregistré :
x-component-props
Propriétés du composant :
x-decorator
Composant wrapper. La combinaison x-decorator + x-component permet de placer deux composants dans un même nœud schema, ce qui réduit la complexité de structure et améliore la réutilisation.
Par exemple, dans le contexte d'un formulaire, FormItem est un decorator :
Équivalent JSX :
x-display
État d'affichage du composant :
x-pattern
Mode d'interaction d'un composant de champ :
Utilisation dans registerFlow
Dans le développement de plugins, uiSchema est principalement utilisé dans le panneau de configuration de registerFlow. Chaque champ est généralement enveloppé avec 'x-decorator': 'FormItem' :
V2 reste compatible avec la syntaxe uiSchema, mais les cas d'usage sont limités — principalement pour décrire l'UI des formulaires dans les panneaux de configuration de Flow. Pour le rendu de composants à l'exécution, il est recommandé d'utiliser directement les composants Antd.
Aide-mémoire des composants courants
Liens connexes
- Aperçu de FlowEngine (développement de plugins) — Utilisation pratique de uiSchema dans registerFlow
- FlowDefinition — Description complète des paramètres de registerFlow
- Documentation Formily Schema — Protocole Formily sous-jacent à uiSchema

