文字輸入欄位

文字輸入欄位會將字串儲存為值,並將字串儲存為文字。這個值一律是有效字串,而其文字可以是編輯器中的任何字串。

文字輸入欄位

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

收合區塊的文字輸入欄位

創作風潮

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

文字輸入建構函式接受選用值和選用的validator。該值應轉換為字串。如果為 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, '');
}