Um campo de entrada de texto armazena uma string como seu valor e uma string como seu texto. Seu o valor é sempre uma string válida, enquanto seu texto pode ser qualquer string inserida seu editor.
Campo de entrada de texto
Campo de entrada de texto com o editor aberto
Campo de entrada de texto em um bloco recolhido
Criação
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');
}
};
O construtor de entrada de texto recebe um valor opcional e um
validador da solicitação. O valor deve ser convertido em
fio. Se for null
ou undefined
, será usada uma string vazia.
A definição do JSON também permite que você defina a opção spellcheck.
Serialização e XML
JSON
O JSON de um campo de entrada de texto tem esta aparência:
{
"fields": {
"FIELDNAME": "text"
}
}
Em que FIELDNAME
é uma string que faz referência a um campo de entrada de texto e
o valor é o valor a ser aplicado ao campo. O valor
segue as mesmas regras do valor do construtor.
XML
O XML para um campo de entrada de texto é assim:
<field name="FIELDNAME">text</field>
O atributo name
do campo contém uma string que faz referência a uma entrada de texto.
e o texto interno é o valor a ser aplicado ao campo. O interior
o valor de texto segue as mesmas regras que o valor do construtor.
Personalização
Verificação ortográfica
A setSpellcheck pode ser usada para definir se o campo verifica a ortografia do texto de entrada ou não.
Campos de entrada de texto com e sem verificação ortográfica
A verificação ortográfica está ativada por padrão.
Isso se aplica a campos individuais. Se quiser modificar todos os campos, altere o
Blockly.FieldTextInput.prototype.spellcheck_
.
Como criar um validador de entrada de texto
O valor de um campo de entrada de texto é uma string, portanto, todos os validadores precisam aceitar uma string
e retornar uma string, null
ou undefined
.
Veja um exemplo de um validador que remove todos os caracteres "a" caracteres do string:
function(newValue) {
return newValue.replace(/a/g, '');
}