Um campo de entrada de texto de várias linhas armazena uma string como o valor dela e uma string como texto. O valor dela é sempre uma string válida, enquanto o texto pode ser qualquer string inserida no editor. Diferente de um campo de entrada de texto, esse campo também aceita caracteres de nova linha inseridos no editor.
Campo de entrada de texto de várias linhas
Campo de entrada de texto de várias linhas com o editor aberto
Campo de entrada de texto com várias linhas em um bloco recolhido
com base em trends
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');
}
};
O construtor de entrada de texto de várias linhas aceita um valor e um validator opcionais. O valor precisa ser convertido em uma
string. Se for null
ou undefined
, uma string vazia será usada.
A definição JSON também permite que você configure a opção spellcheck.
Serialização
JSON
O JSON para um campo de entrada de texto com várias linhas tem esta aparência:
{
"fields": {
"FIELDNAME": "line1\nline2"
}
}
Em que FIELDNAME
é uma string que se refere a um campo de entrada de texto de várias linhas, 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 com várias linhas tem esta aparência:
<field name="FIELDNAME">line1&#10;line2</field>
Onde o atributo name
do campo contém uma string que se refere a um campo
de entrada de texto multilinha e o texto interno é o valor a ser aplicado ao campo. O
valor do texto interno segue as mesmas regras do valor do construtor.
Personalização
Verificação ortográfica
A função setSpellcheck pode ser usada para definir se o campo vai verificar 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 fica ativada por padrão.
Isso se aplica a campos individuais. Se você quiser modificar todos os campos, mude a propriedade Blockly.FieldMultilineInput.prototype.spellcheck_
.
Como criar um validador de entrada de texto
O valor de um campo de entrada de texto multilinha é 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" da string:
function(newValue) {
return newValue.replace(/a/gm, '');
}