テキスト入力フィールド

テキスト入力フィールドには、値として文字列が格納され、テキストとして文字列が格納されます。その value は常に有効な文字列ですが、テキストには 表示されます。

テキスト入力フィールド

エディタが開いているテキスト入力フィールド

折りたたまれたブロックのテキスト入力フィールド

作成

JSON

{
  "type": "example_textinput",
  "message0": "text input: %1",
  "args0": [
    {
      "type": "field_input",
      "name": "FIELDNAME",
      "text": "default text",
      "spellcheck": false
    }
  ]
}

JavaScript

Blockly.Blocks['example_textinput'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("text input:")
        .appendField(new Blockly.FieldTextInput('default text'),
            'FIELDNAME');
  }
};

テキスト入力コンストラクタは、省略可能な値とオプションの バリデータ。この値は、 使用します。null または undefined の場合は、空の文字列が使用されます。

JSON 定義では、spellcheck オプションを設定することもできます。

シリアル化と XML

JSON

テキスト入力フィールドの JSON は次のようになります。

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

ここで、FIELDNAME はテキスト入力フィールドを参照する文字列です。 value は、フィールドに適用する値です。この値 コンストラクタ値と同じルールに従います。

XML

テキスト入力フィールドの XML は次のようになります。

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

フィールドの name 属性にテキスト入力を参照する文字列が含まれている場合 フィールド、内部テキストはフィールドに適用する値です。内部 text 値はコンストラクタ値と同じルールに従います。

カスタマイズ

スペルチェック

setSpellcheck 関数を使用して、そのフィールドで入力テキストのスペルチェックを行うかどうかを設定できます。

テキスト入力フィールド(スペルチェックあり / なし)

スペルチェックはデフォルトでオンになっています。

これは個々のフィールドに適用されます。すべてのフィールドを変更するには、 Blockly.FieldTextInput.prototype.spellcheck_ プロパティ。

テキスト入力バリデータの作成

テキスト入力フィールドの値は文字列であるため、バリデータはすべて文字列を受け入れる必要があります。 文字列、null、または undefined を返します。

次に、すべての「a」を削除するバリデータの例を示します。登場人物の string:

function(newValue) {
  return newValue.replace(/a/g, '');
}