ラベルのフィールド

ラベル フィールドには、value として文字列が格納され、text として文字列が格納されます。ラベル フィールドの valuetext は常に同じです。

ラベル フィールド

2 行のブロック。1 つ目は「a label」というラベル、2 つ目は「and another label」というラベルが付いています。

折りたたまれたブロックのラベル フィールド

折りたたまれた後の同じブロック。1 行で、「a label and another label」というラベルが付いており、右端がギザギザになっているため、折りたたまれていることがわかります。

作成

JSON

{
  "type": "example_label",
  "message0": "a label %1 and another label",
  "args0": [
    {
      "type": "input_dummy"
    }
  ]
}

補間引数の間のメッセージ テキストはラベル文字列になります。また、ラベルはオブジェクトまたはテキストとして明示的に補間することもできます。一般に、翻訳が難しくなるため、この方法は推奨されません。

{
  "type": "example_label",
  "message0": "%1 %2 %3",
  "args0": [
    {
      "type": "field_label",
      "text": "a label"
    },
    {
      "type": "input_dummy"
    },
    "and another label"
  ]
}

JavaScript

Blockly.Blocks['example_label'] = {
  init: function() {
    this.appendDummyInput()
        .appendField(new Blockly.FieldLabel('a label'));
    this.appendDummyInput()
        .appendField('and another label');
  }
};

appendField 関数は、FieldLabel オブジェクトと(より一般的な)文字列の両方を受け入れてラベルを作成します。

ラベル フィールドには、オプションの値とオプションの CSS クラス文字列を指定できます。どちらもデフォルトは空の文字列です。

シリアル化

ラベル フィールドはシリアル化できません。

ラベルがプログラムで変更されるため、シリアル化する場合は、シリアル化可能なラベル フィールドをご覧ください。

バリデータ

ラベル フィールドは編集できないため、バリデータをサポートしていません。