文本输入字段

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

文本输入字段

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

收起的文本块上的文本输入字段

恣意创作

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 属性包含引用文本输入的字符串 字段,而内部文本是要应用于该字段的值。内部 text 值遵循与构造函数值相同的规则。

自定义

拼写检查

通过 setSpellcheck 函数可以设置该字段是否对其输入文本进行拼写检查。

带有拼写检查和不带拼写检查的文本输入字段

拼写检查默认处于开启状态。

这适用于单个字段。如果您要修改所有字段,请将 Blockly.FieldTextInput.prototype.spellcheck_ 属性。

创建文本输入验证器

文本输入字段的值是一个字符串,因此任何验证器都必须接受字符串 并返回一个字符串、nullundefined

以下示例是一个验证器示例,该验证器移除所有“a”字符的 字符串:

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