UI Schema
UI Schema ist das Protokoll, mit dem NocoBase Frontend-Komponenten beschreibt. Es basiert auf Formily Schema 2.0 und folgt einem JSON-Schema-ähnlichen Stil. In FlowEngine wird das Feld uiSchema von registerFlow mit dieser Syntax verwendet, um die UI des Konfigurationspanels zu definieren.
Grundlegende Verwendung
Die einfachste Komponente
Alle nativen HTML-Tags lassen sich in eine Schema-Schreibweise überführen:
Entspricht in JSX:
Untergeordnete Komponenten
children-Komponenten werden in properties geschrieben:
Entspricht in JSX:
Attribut-Erläuterungen
type
Der Typ des Knotens:
name
Der Name des Schemas. Der name eines Kindknotens ist der Schlüssel in properties:
title
Der Titel des Knotens, üblicherweise als Beschriftung für Formularfelder verwendet.
x-component
Der Name der Komponente. Kann ein natives HTML-Tag oder eine registrierte React-Komponente sein:
x-component-props
Die Eigenschaften der Komponente:
x-decorator
Wrapper-Komponente. Die Kombination aus x-decorator + x-component erlaubt es, zwei Komponenten in einem einzigen Schema-Knoten zu platzieren – das senkt die strukturelle Komplexität und erhöht die Wiederverwendbarkeit.
In Formularen ist beispielsweise FormItem der decorator:
Entspricht in JSX:
x-display
Der Anzeigestatus der Komponente:
x-pattern
Interaktionsmodus einer Field-Komponente:
Verwendung in registerFlow
In der Plugin-Entwicklung wird uiSchema vor allem im Konfigurationspanel von registerFlow eingesetzt. Jedes Field wird in der Regel mit 'x-decorator': 'FormItem' umschlossen:
v2 ist mit der uiSchema-Syntax kompatibel, allerdings ist der Anwendungsbereich begrenzt – sie wird im Wesentlichen im Konfigurationspanel von Flow zur Beschreibung der Formular-UI verwendet. Für das Rendern von Komponenten zur Laufzeit empfiehlt sich überwiegend die direkte Implementierung mit Antd-Komponenten.
Häufig verwendete Komponenten – Schnellübersicht
Verwandte Links
- FlowEngine Übersicht (Plugin-Entwicklung) – tatsächliche Verwendung von uiSchema in registerFlow
- FlowDefinition – vollständige Parameterbeschreibung von registerFlow
- Formily Schema-Dokumentation – das Formily-Protokoll, auf dem uiSchema basiert

