多行文字輸入欄位

多行文字輸入欄位會將字串儲存為值,並將字串儲存為文字。這個值一律是有效字串,而其文字可以是編輯器中的任何字串。與文字輸入欄位不同,這個欄位也支援在編輯器中輸入的換行字元。

多行文字輸入欄位

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

收合區塊中的多行文字輸入欄位

創作風潮

JSON

{
  "type": "example_multilinetextinput",
  "message0": "multiline text input: %1",
  "args0": [
    {
      "type": "field_multilinetext",
      "name": "FIELDNAME",
      "text": "default text\n with newline character",
      "spellcheck": false
    }
  ]
}

JavaScript

Blockly.Blocks['example_multilinetextinput'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("multiline text input:")
        .appendField(new Blockly.FieldMultilineInput('default text\n with newline character'),
            'FIELDNAME');
  }
};

多行文字輸入建構函式會採用選用值和選用的validator。該值應轉換為字串。如果為 nullundefined,則會使用空字串。

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

序列化

JSON

多行文字輸入欄位的 JSON 如下所示:

{
  "fields": {
    "FIELDNAME": "line1\nline2"
  }
}

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

XML

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

<field name="FIELDNAME">line1&amp;#10;line2</field>

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

自訂

拼字檢查

setSpellcheck 函式可用來設定欄位是否對輸入文字進行拼字檢查。

無論是否有拼字檢查功能的文字輸入欄位

拼字檢查功能預設為開啟。

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

建立文字輸入驗證工具

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

以下是驗證工具範例,可用於移除字串中的所有「a」字元:

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