文字輸入欄位

文字輸入欄位會將字串做為其值,並將字串儲存為文字。結果 值永遠是有效字串,但其文字可以是輸入的任何字串 編輯。

文字輸入欄位

編輯器開啟的文字輸入欄位

收合區塊上的文字輸入欄位

創作

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

文字輸入建構函式會採用選用值和選用值 驗證工具。這個值應轉換為 字串。如果是 nullundefined,則會使用空白字串。

JSON 定義也可讓您設定 spellcheck 選項。

序列化和 XML

JSON

文字輸入欄位的 JSON 外觀如下所示:

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

其中 FIELDNAME 是參照文字輸入欄位的字串,而 值為要套用至欄位的值。這個鍵 遵循與建構函式值相同的規則。

XML

文字輸入欄位的 XML 如下所示:

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

其中欄位 name 屬性含有參照文字輸入內容的字串 欄位,而內部文字則是要套用至欄位的值。內部 文字值遵循與建構函式值相同的規則。

自訂

拼字檢查

setSpellcheck 函式可用於設定欄位拼字檢查是否為其輸入文字。

包含及不含拼字檢查的文字輸入欄位

拼字檢查預設為開啟。

這適用於個別欄位。如要修改所有欄位,請 Blockly.FieldTextInput.prototype.spellcheck_ 屬性。

建立文字輸入驗證工具

文字輸入欄位的值是字串,因此所有驗證工具都必須接受字串 並傳回字串、nullundefined

以下的驗證工具範例會移除所有「a」個字元 字串:

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