Labelfelder

In einem Label-Feld wird ein String als value und ein String als text gespeichert. Die value und text eines Label-Felds sind immer identisch.

Labelfeld

Ein Block mit zwei Zeilen. Die erste hat das Label „ein Label“ und die zweite das Label „und ein weiteres Label“.

Labelfeld im minimierten Block

Derselbe Block nach dem Minimieren. Sie hat eine einzelne Zeile, das Label „a label and another label“ (ein Label und ein weiteres Label) und einen gezackten rechten Rand, um anzuzeigen, dass sie minimiert ist.

Erstellung

JSON

{
  "type": "example_label",
  "message0": "a label %1 and another label",
  "args0": [
    {
      "type": "input_dummy"
    }
  ]
}

Der gesamte Nachrichtentext zwischen den Interpolationsargumenten wird zu Label-Strings. Alternativ können Labels explizit als Objekt oder als Text interpoliert werden. Davon wird in der Regel abgeraten, da es die Übersetzung erschwert.

{
  "type": "example_label",
  "message0": "%1 %2 %3",
  "args0": [
    {
      "type": "field_label",
      "text": "a label"
    },
    {
      "type": "input_dummy"
    },
    "and another label"
  ]
}

JavaScript

Blockly.Blocks['example_label'] = {
  init: function() {
    this.appendDummyInput()
        .appendField(new Blockly.FieldLabel('a label'));
    this.appendDummyInput()
        .appendField('and another label');
  }
};

Die Funktion appendField akzeptiert sowohl FieldLabel-Objekte als auch, was häufiger vorkommt, Strings zum Erstellen von Labels.

Das Label-Feld akzeptiert einen optionalen Wert und einen optionalen CSS-Klassenstring. Beide sind standardmäßig auf einen leeren String eingestellt.

Serialisierung

Label-Felder können nicht serialisiert werden.

Wenn Ihr Label serialisiert werden soll, weil es programmatisch geändert wird, sehen Sie sich das Feld Serializable Label an.

Validatoren

Für Label-Felder werden keine Validatoren unterstützt, da sie nicht bearbeitet werden können.