Pole tekstowe do wprowadzania tekstu zawiera ciąg znaków jako wartość, a ciąg znaków jako tekst. Jego wartością jest zawsze prawidłowy ciąg znaków, a jego tekstem może być dowolny ciąg wpisany w edytorze.
Pole wprowadzania tekstu
Pole do wprowadzania tekstu z otwartym edytorem
Pole do wprowadzania tekstu w zwiniętym bloku
na podstawie trendów
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');
}
};
Konstruktor do wprowadzania tekstu przyjmuje wartość opcjonalną i opcjonalny validator. Wartość powinna być rzutowana na ciąg znaków. Jeśli to null
lub undefined
, zostanie użyty pusty ciąg.
Definicja JSON umożliwia też ustawienie opcji spellcheck.
Serializacja i XML
JSON
Kod JSON pola do wprowadzania tekstu wygląda tak:
{
"fields": {
"FIELDNAME": "text"
}
}
Gdzie FIELDNAME
to ciąg znaków odwołujący się do pola tekstowego, a wartość to wartość do zastosowania w polu. Wartość podlega tym samym regułom co wartość konstruktora.
XML
Kod XML pola do wprowadzania tekstu wygląda tak:
<field name="FIELDNAME">text</field>
Gdzie atrybut name
pola zawiera ciąg znaków odwołujący się do pola tekstowego, a tekst wewnętrzny to wartość do zastosowania do pola. Wartość tekstu wewnętrznego podlega tym samym regułom co wartość konstruktora.
Personalizacja
sprawdzanie pisowni;
Za pomocą funkcji setSpellcheck można określić, czy w polu ma być sprawdzany wpisany tekst.
Pola tekstowe ze sprawdzaniem pisowni i bez niego
Sprawdzanie pisowni jest domyślnie włączone.
Ma to zastosowanie do poszczególnych pól. Jeśli chcesz zmodyfikować wszystkie pola, zmień właściwość Blockly.FieldTextInput.prototype.spellcheck_
.
Tworzenie walidatora wprowadzania tekstu
Wartość pola do wprowadzania tekstu jest ciągiem znaków, więc wszystkie narzędzia do weryfikacji muszą zaakceptować ciąg znaków i zwrócić ciąg znaków, null
lub undefined
.
Oto przykład walidatora, który usuwa z ciągu znaków wszystkie znaki „a”:
function(newValue) {
return newValue.replace(/a/g, '');
}