Un campo de entrada de texto almacena una cadena como su valor y una cadena como su texto. Su valor siempre es una string válida, mientras que su texto puede ser cualquier string que se ingrese en su editor.
Campo de entrada de texto
Campo de entrada de texto con el editor abierto
Campo de entrada de texto en el bloque contraído
Creación
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');
}
};
El constructor de entrada de texto toma un valor y un validator opcionales. El valor debe convertirse en una cadena. Si es null
o undefined
, se usará una string vacía.
La definición JSON también te permite establecer la opción spellcheck.
Serialización y XML
JSON
El JSON para un campo de entrada de texto se ve de la siguiente manera:
{
"fields": {
"FIELDNAME": "text"
}
}
En la que FIELDNAME
es una cadena que hace referencia a un campo de entrada de texto y el valor es el valor que se aplica al campo. El valor sigue las mismas reglas que el valor del constructor.
XML
El XML de un campo de entrada de texto se ve de la siguiente manera:
<field name="FIELDNAME">text</field>
Cuando el atributo name
del campo contiene una cadena que hace referencia a un campo de entrada de texto, y el texto interno es el valor que se debe aplicar al campo. El valor de texto interno sigue las mismas reglas que el valor del constructor.
Personalización
Corrector ortográfico
Se puede usar la función setSpellcheck para establecer si el campo debe revisar la ortografía del texto de entrada o no.
Campos de entrada de texto con y sin corrector ortográfico
El corrector ortográfico está activado de forma predeterminada.
Esto se aplica a campos individuales. Si deseas modificar todos los campos, cambia la propiedad Blockly.FieldTextInput.prototype.spellcheck_
.
Cómo crear un validador de entrada de texto
El valor de un campo de entrada de texto es una string, por lo que cualquier validador debe aceptar una string y mostrar una string, null
o undefined
.
Este es un ejemplo de un validador que quita todos los caracteres “a” de la string:
function(newValue) {
return newValue.replace(/a/g, '');
}