可序列化的標籤欄位

可序列化標籤的運作方式與一般標籤完全相同,不過它們也會序列化為 XML。只有需要透過程式輔助方式修改標籤內容,且希望將其序列化為 XML 時,才能使用這些標籤。

可序列化標籤欄位

收合區塊上的可序列化標籤欄位

創作風潮

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 屬性包含參照可序列化標籤欄位的字串,而節點的內部文字是套用至該欄位的值。

驗證工具

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