Skip to content

Formular ui-form ​

Demo Ausprobieren

Fügt der Benutzeroberfläche ein Formular hinzu, das hilft, mehrere Werte vom Benutzer bei Klick auf den Absenden-Button als Objekt in msg.payload zu sammeln.

Eigenschaften ​

PropDynamicDescription
GruppeDefiniert, in welcher Gruppe des UI-Dashboards dieses Widget gerendert wird.
GrößeSteuert die Breite des Buttons in Bezug auf die übergeordnete Gruppe. Der Maximalwert ist die Breite der Gruppe.
Beschriftung✓Eine Beschriftung, die vor den Formularzeilen angezeigt wird.
Optionen✓Eine Liste der im Formular dargestellten Zeilen. Jede Zeile hat die folgenden Eigenschaften:
  • Beschriftung: Eine Beschriftung, die in der Formularzeile angezeigt wird.
  • Name: Der Name des Formularelements, der als Schlüssel im msg.payload-Objekt verwendet wird.
  • Typ: Der anzuzeigende Eingabetyp. Optionen - text | multiline | password | email | number | checkbox | switch | date | time
  • Erforderlich: Ob das Formularelement ausgefüllt werden muss, bevor das Formular abgeschickt werden kann.
ButtonsDer Text, der auf jedem der Formularbuttons angezeigt wird. Wenn der "Abbrechen"-Text leer bleibt, wird kein Abbrechen-Button angezeigt.
Zwei SpaltenRendert das Formular als zweispaltiges Layout.
Zurücksetzen bei AbsendenWenn aktiviert, wird das Formular nach dem Absenden in einen leeren Zustand zurückgesetzt.
ThemaDefiniert, wie das Thema berechnet wird, das im `msg`-Objekt enthalten ist, wenn das Formular abgeschickt wird.
Dropdown-Optionen✓Diese Liste kann Optionen für mehrere Dropdown-/Auswahlfelder in einem einzigen Formular definieren.

Dynamische Eigenschaften ​

Dynamic properties are those that can be overriden at runtime by sending a particular msg to the node.

Where appropriate, the underlying values set within Node-RED will be overriden by the values set in the received messages.

PropPayloadStructuresExample Values
Beschriftungmsg.ui_update.labelString
Optionenmsg.ui_update.optionsArray<Object>
Dropdown-Optionenmsg.ui_update.dropdownOptionsArray<{ dropdown: <string>, key: <string>, label: <string> }>
Klassemsg.classString

Formular-Daten ausfüllen ​

Wenn Sie Standardwerte festlegen oder Werte in Ihrem Formular vorab ausfüllen möchten, können Sie dies tun, indem Sie einen msg.payload-Wert übergeben. Dieser Wert sollte ein Objekt sein, wobei jeder Schlüssel den key eines Formularelements darstellt und der Wert den Standardwert für dieses Element darstellt.

Zum Beispiel, wenn Sie ein Formular mit einem "Text"-Feld vorab ausfüllen möchten, mit einem Namen, "first_name", können Sie die folgende msg übergeben:

js
msg.payload = {
    "first_name": "John"
}

Formularelemente definieren (Optionen) ​

Wenn Sie die Konfiguration für Ihr ui-form überschreiben und Details Ihrer Elemente bereitstellen möchten, nachdem Ihr Node-RED-Flow bereitgestellt wurde, können Sie dies tun, indem Sie einen msg.ui_update.options-Wert übergeben. Dieser Wert sollte ein Array von Objekten sein, wobei jedes Objekt ein Formularelement darstellt. Jedes Objekt sollte die folgenden Eigenschaften haben:

Element: Text ​

json
{
    "type": "text",
    "label": "Name",
    "key": "name",
    "required": true
}

Element: Mehrzeilig ​

json
{
    "type": "multiline",
    "label": "Name",
    "key": "name",
    "required": true,
    "rows": 4
}

Element: Passwort ​

json
{
    "type": "password",
    "label": "Passwort",
    "key": "password",
    "required": true
}

Element: E-Mail ​

json
{
    "type": "email",
    "label": "E-Mail-Adresse",
    "key": "email",
    "required": true
}

Element: Nummer ​

json
{
    "type": "number",
    "label": "Alter",
    "key": "age",
    "required": true
}

Element: Kontrollkästchen ​

json
{
    "type": "checkbox",
    "label": "Newsletter abonnieren",
    "key": "newsletter"
}

Element: Schalter ​

json
{
    "type": "switch",
    "label": "Benachrichtigungen aktivieren",
    "key": "notifications"
}

Element: Datum ​

json
{
    "type": "date",
    "label": "Geburtsdatum",
    "key": "dob",
    "required": true
}

Element: Zeit ​

json
{
    "type": "time",
    "label": "Geburtszeit",
    "key": "tob",
    "required": true
}

Element: Dropdown ​

json
{
    "type": "dropdown",
    "label": "Dropdown",
    "key": "selection"
}

Wenn Sie die Konfiguration für Ihr ui-form überschreiben und Details Ihrer Dropdown-Optionen bereitstellen möchten, nachdem Ihr Node-RED-Flow bereitgestellt wurde, können Sie dies tun, indem Sie einen msg.ui_update.dropdownOptions-Wert übergeben. Dieser Wert sollte ein Array von Objekten sein, wobei jedes Objekt ein Dropdown-Element darstellt. Jedes Objekt sollte die folgenden Eigenschaften haben:

json
[{
    "dropdown": "Dropdown-Name",
    "value": "1",
    "label": "Option 1"
}]

Beispiel ​

Beispiel eines FormularsBeispiel eines gerenderten Formulars in einem Dashboard.