Serileştirilebilir etiketler, XML'e serileştirilmeleri dışında normal etiketlerle aynı şekilde çalışır. Bu yöntemler yalnızca bir etiketin içeriğini programatik olarak düzenliyorsanız ve içeriğin XML olarak serileştirilmesini istiyorsanız kullanılmalıdır.
Serileştirilebilir etiket alanı
Daraltılmış bir blokta serileştirilebilir etiket alanı
içerik üretimi
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");
}
};
Serileştirilebilir etiket alanı, isteğe bağlı bir değer ve isteğe bağlı bir CSS sınıfı dizesi alır. Her ikisi de varsayılan olarak boş bir dizedir.
Serileştirme
JSON
Serileştirilebilir bir etiket alanı için JSON şöyle görünür:
{
"fields": {
"FIELDNAME": text
}
}
Burada FIELDNAME
, serileştirilebilir bir etiket alanına atıfta bulunan bir dizedir ve değer, alana uygulanacak değerdir. Değer, kurucu değerle aynı kurallara uyar.
XML
Serileştirilebilir etiket alanının XML'i şu şekilde görünür:
<field name="FIELDNAME">text</field>
field
düğümünün name
özelliği, serileştirilebilir bir etiket alanına referans veren bir dize içerir ve düğümün iç metni, alana uygulanacak değerdir.
Doğrulayıcılar
Serileştirilebilir etiket alanları, kullanıcı tarafından düzenlenemediği için doğrulayıcıları desteklemez.