Serialisierbare Labels funktionieren genauso wie normale Labels, mit der Ausnahme, dass sie auch in XML serialisiert werden. Sie sollten nur verwendet werden, wenn Sie den Inhalt eines Labels programmatisch bearbeiten und dieses in XML serialisieren möchten.
Feld „Serialisierbares Label“
Serialisierbares Labelfeld 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 Feld „Serialisierbares Label“ nimmt einen optionalen Wert und einen optionalen CSS-Klassenstring an. Beide haben standardmäßig einen leeren String.
Serialisierung
JSON
Der JSON-Code für ein serialisierbares Labelfeld sieht so aus:
{
"fields": {
"FIELDNAME": text
}
}
Dabei ist FIELDNAME
ein String, der auf ein serialisierbares Labelfeld verweist, und der Wert ist der Wert, der auf das Feld angewendet werden soll. Der Wert folgt denselben Regeln wie der Konstruktorwert.
XML
Der XML-Code für ein serialisierbares Labelfeld sieht so aus:
<field name="FIELDNAME">text</field>
Das Attribut name
des Knotens field
enthält einen String, der auf ein serialisierbares Labelfeld verweist. Der innere Text des Knotens ist der Wert, der auf das Feld angewendet werden soll.
Validatoren
Serialisierbare Labelfelder unterstützen keine Validierungen, da sie nicht von einem Nutzer bearbeitet werden können.