Serialisierbare Labels funktionieren genau wie normale Labels. mit der Ausnahme, dass sie auch in XML serialisiert werden. Sie sollten nur verwendet werden, wenn Sie um den Inhalt eines Labels programmatisch zu kopieren, und möchten, dass es in XML serialisiert wird.
Feld für das serialisierbare Label
Serialisierbares Labelfeld in einem minimierten Block
Erstellung
{
"type": "example_serializable_label",
"message0": "%1",
"args0": [
{
"type": "field_label_serializable",
"name": "FIELDNAME",
"text": "a serializable label"
}
]
}
Blockly.Blocks['example_serializable_label'] = {
init: function() {
this.appendDummyInput()
.appendField(new Blockly.FieldLabelSerializable("a serializable label"), "FIELDNAME");
}
};
Das Feld für das serialisierbare Label enthält einen optionalen Wert und ein optionales CSS. Klassenzeichenfolge. Beide Werte sind standardmäßig leer.
Serialisierung
Die JSON-Datei für ein serialisierbares Labelfeld sieht so aus:
{
"fields": {
"FIELDNAME": text
}
}
Dabei ist FIELDNAME
ein String, der auf ein serialisierbares Labelfeld verweist, und
Wert ist der Wert, der auf das Feld angewendet werden soll. Der Wert
folgt denselben Regeln wie der Konstruktorwert.
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 eine serialisierbare
Label-Feld und der innere Text des Knotens ist der Wert, der auf das Feld angewendet wird.
Validatoren
Serialisierbare Labelfelder unterstützen keine Validatoren, da sie keine bearbeitbar sind.