多行文字輸入欄位會將字串儲存為值,並將字串儲存為文字。這個值一律是有效字串,而其文字可以是編輯器中的任何字串。與文字輸入欄位不同,這個欄位也支援在編輯器中輸入的換行字元。
多行文字輸入欄位
開啟編輯器的多行文字輸入欄位
收合區塊中的多行文字輸入欄位
創作風潮
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。該值應轉換為字串。如果為 null
或 undefined
,則會使用空字串。
序列化
JSON
多行文字輸入欄位的 JSON 如下所示:
{
"fields": {
"FIELDNAME": "line1\nline2"
}
}
其中 FIELDNAME
是參照多行文字輸入欄位的字串,而值是套用至欄位的值。這個值遵循與建構函式值相同的規則。
XML
多行文字輸入欄位的 XML 如下所示:
<field name="FIELDNAME">line1&#10;line2</field>
其中,欄位的 name
屬性包含參照多行文字輸入欄位的字串,而內部文字是套用至該欄位的值。內部文字值遵循與建構函式值相同的規則。
自訂
拼字檢查
setSpellcheck 函式可用來設定欄位是否對輸入文字進行拼字檢查。
無論是否有拼字檢查功能的文字輸入欄位
拼字檢查功能預設為開啟。
適用於個別欄位。如要修改所有欄位,請變更 Blockly.FieldMultilineInput.prototype.spellcheck_
屬性。
建立文字輸入驗證工具
多行文字輸入欄位的值是字串,因此所有驗證工具都必須接受字串並傳回字串、null
或 undefined
。
以下是驗證工具範例,可用於移除字串中的所有「a」字元:
function(newValue) {
return newValue.replace(/a/gm, '');
}