可序列化的標籤欄位

可序列化的標籤與一般標籤的運作方式完全相同,只是它們也會序列化為 XML。只有在您以程式輔助方式編輯標籤內容,且希望將其序列化為 XML 時,才應使用這些標記。

可序列化的標籤欄位

包含可序列化標籤「a serializable label」的區塊。從視覺上來看,這與含有一般標籤的區塊並無二致。

摺疊區塊上的可序列化標籤欄位

收合後的相同區塊。它具有「可序列化的標籤」標籤,右邊邊緣呈鋸齒狀,表示已摺疊。

創作

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");
  }
};

可順序編碼的標籤欄位會接收選用值和選用 CSS 類別字串。兩者都預設為空字串。

序列化

JSON

可序列化的標籤欄位 JSON 如下所示:

{
  "fields": {
    "FIELDNAME": text
  }
}

其中 FIELDNAME 是參照可序列化的標籤欄位的字串,而值是套用至欄位的值。這個值遵循與建構函式值相同的規則。

XML

可順序化標籤欄位的 XML 如下所示:

<field name="FIELDNAME">text</field>

field 節點的 name 屬性包含參照可序列化的標籤欄位的字串,而節點的內部文字則是套用至欄位的值。

驗證工具

可序列化的標籤欄位不支援驗證工具,因為使用者無法編輯這些欄位。