Un campo di immissione di testo memorizza una stringa come valore e una stringa come testo. Il suo valore è sempre una stringa valida, mentre il testo può essere qualsiasi stringa inserita nell'editor.
Campo di immissione di testo
Campo di immissione di testo con l'editor aperto
Campo di immissione di testo nel blocco compresso
Creazione
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');
}
};
Il costruttore dell'input di testo accetta un valore facoltativo e un convalidatore facoltativo. Il valore deve essere eseguito il casting in una stringa. Se è null
o undefined
, verrà utilizzata una stringa vuota.
La definizione JSON consente anche di impostare l'opzione controllo ortografico.
Serializzazione e XML
JSON
Il JSON per un campo di immissione di testo è il seguente:
{
"fields": {
"FIELDNAME": "text"
}
}
dove FIELDNAME
è una stringa che fa riferimento a un campo di immissione di testo e il valore è il valore da applicare al campo. Il valore segue le stesse regole del valore del costruttore.
XML
Il codice XML di un campo di immissione di testo è il seguente:
<field name="FIELDNAME">text</field>
L'attributo name
del campo contiene una stringa che fa riferimento a un campo di immissione di testo e il testo interno è il valore da applicare al campo. Il valore del testo interno segue le stesse regole del valore del costruttore.
Personalizzazione
Controllo ortografico
La funzione setSpellcheck può essere utilizzata per impostare se il campo deve o meno eseguire la correzione ortografica del testo inserito.
Campi di immissione di testo con e senza controllo ortografico
Il controllo ortografico è attivo per impostazione predefinita.
Questo vale per i singoli campi. Se vuoi modificare tutti i campi, modifica la proprietàBlockly.FieldTextInput.prototype.spellcheck_
.
Creazione di un validatore di input di testo
Il valore di un campo di immissione di testo è una stringa, pertanto tutti i validatori devono accettare una stringa
e restituire una stringa, null
o undefined
.
Ecco un esempio di convalidatore che rimuove tutti i caratteri "a" dalla stringa:
function(newValue) {
return newValue.replace(/a/g, '');
}