Un campo de entrada de texto almacena una cadena como su valor y una cadena como texto. Es value es siempre una cadena válida, mientras que su texto puede ser cualquier cadena 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 opcional y un
validador. El valor debe convertirse en
una cadena vacía. Si es null
o undefined
, se usará una cadena vacía.
La definición JSON también te permite establecer la opción de corrector ortográfico.
Serialización y XML
JSON
El JSON para un campo de entrada de texto se ve así:
{
"fields": {
"FIELDNAME": "text"
}
}
Donde FIELDNAME
es una cadena que hace referencia a un campo de entrada de texto.
el valor es el valor que se aplicará 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 así:
<field name="FIELDNAME">text</field>
En el que el atributo name
del campo contiene una cadena que hace referencia a una entrada de texto
y el texto interno es el valor que se aplicará al campo. El interior
de texto sigue las mismas reglas que el valor del constructor.
Personalización
Corrector ortográfico
El setSpellcheck se puede usar para establecer si el campo verificará la ortografía de su 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 los campos individuales. Si deseas modificar todos los campos, cambia la
Blockly.FieldTextInput.prototype.spellcheck_
.
Cómo crear un validador de entradas de texto
El valor de un campo de entrada de texto es una cadena, por lo que los validadores deben aceptarla.
y muestra una cadena, null
o undefined
.
Este es un ejemplo de un validador que quita todo caracteres del cadena:
function(newValue) {
return newValue.replace(/a/g, '');
}