Serialisierbare Labels funktionieren genau wie normale Labels, werden aber auch in XML serialisiert. Sie sollten nur verwendet werden, wenn Sie den Inhalt eines Labels programmatisch bearbeiten und er in XML serialisiert werden soll.
Serialisierbares Labelfeld

Serialisierbares Label-Feld in einem minimierten Block

Erstellung
JSON
{
"type": "example_serializable_label",
"message0": "%1",
"args0": [
{
"type": "field_label_serializable",
"name": "FIELDNAME",
"text": "a serializable label"
}
]
}
JavaScript
Blockly.Blocks['example_serializable_label'] = {
init: function() {
this.appendDummyInput()
.appendField(new Blockly.FieldLabelSerializable("a serializable label"), "FIELDNAME");
}
};
Das serialisierbare Label-Feld akzeptiert einen optionalen Wert und einen optionalen CSS-Klassenstring. Beide sind standardmäßig auf einen leeren String eingestellt.
Serialisierung
JSON
Das JSON für ein serialisierbares Label-Feld sieht so aus:
{
"fields": {
"FIELDNAME": text
}
}
Dabei ist FIELDNAME ein String, der auf ein serialisierbares Label-Feld verweist, und der Wert ist der Wert, der auf das Feld angewendet werden soll. Der Wert folgt denselben Regeln wie der Konstruktorwert.
XML
Das XML für ein serialisierbares Label-Feld sieht so aus:
<field name="FIELDNAME">text</field>
Das Attribut name des Knotens field enthält einen String, der auf ein serialisierbares Label-Feld verweist. Der innere Text des Knotens ist der Wert, der auf das Feld angewendet werden soll.
Validatoren
Für serialisierbare Label-Felder werden keine Validatoren unterstützt, da sie nicht von einem Nutzer bearbeitet werden können.