文本输入字段将字符串存储为值,并将字符串存储为文本。其值始终为有效字符串,而其文本可以是输入到其编辑器中的任何字符串。
文本输入字段

打开编辑器后的文本输入字段

折叠块上的文本输入字段

创建
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 是引用文本输入字段的字符串,而值是要应用于该字段的值。该值遵循与构造函数值相同的规则。
XML
文本输入字段的 XML 如下所示:
<field name="FIELDNAME">text</field>
其中,字段的 name 属性包含引用文本输入字段的字符串,而内部文本是要应用于字段的值。内部文本值遵循与构造函数值相同的规则。
自定义
拼写检查
setSpellcheck 函数可用于设置字段是否对输入文本进行拼写检查。
带拼写检查和不带拼写检查的文本输入字段

拼写检查功能默认处于开启状态。
这适用于各个字段。如果您想修改所有字段,请更改 Blockly.FieldTextInput.prototype.spellcheck_ 属性。
创建文本输入验证器
文本输入字段的值是一个字符串,因此任何验证器都必须接受字符串并返回字符串、null 或 undefined。
以下是一个验证器的示例,该验证器会从字符串中移除所有 a 字符:
function(newValue) {
  return newValue.replace(/a/g, '');
}
