Pole wprowadzania tekstu przechowuje ciąg znaków jako wartość i ciąg znaków jako tekst. Jego wartość jest zawsze prawidłowym ciągiem znaków, a tekst może być dowolnym ciągiem znaków wpisanym w edytorze.
Pole wprowadzania tekstu
Pole wprowadzania tekstu z otwartym edytorem
Pole 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 pola tekstowego przyjmuje opcjonalną wartość i opcjonalny walidator. Wartość powinna być przekształcana w ciąg znaków. Jeśli jest to null
lub undefined
, używany będzie pusty ciąg znaków.
Definicja JSON umożliwia też ustawienie opcji spellcheck.
Serializacja i XML
JSON
Kod JSON pola wprowadzania tekstu wygląda tak:
{
"fields": {
"FIELDNAME": "text"
}
}
gdzie FIELDNAME
to ciąg znaków odwołujący się do pola wprowadzania tekstu, a wartość to wartość, którą należy zastosować w polu. Wartość
jest zgodna z tymi samymi regułami co wartość konstruktora.
XML
Kod XML pola do wprowadzania tekstu wygląda tak:
<field name="FIELDNAME">text</field>
Gdy atrybut name
pola zawiera ciąg znaków odwołujący się do pola tekstowego, a tekst wewnętrzny jest wartością, którą należy zastosować do pola. Wartość tekstu wewnętrznego podlega tym samym regułom co wartość konstruktora.
Dostosowywanie
sprawdzanie pisowni,
Funkcja setSpellcheck
może służyć do określania, czy pole ma sprawdzać pisownię wpisywanego tekstu.
Pola wprowadzania tekstu ze sprawdzaniem pisowni i bez niego
Sprawdzanie pisowni jest domyślnie włączone.
Dotyczy to poszczególnych pól. Jeśli chcesz zmodyfikować wszystkie pola, zmień właściwość Blockly.FieldTextInput.prototype.spellcheck_
.
Tworzenie narzędzia do sprawdzania poprawności danych wprowadzanych w polu tekstowym
Wartość pola tekstowego jest ciągiem znaków, więc wszystkie walidatory muszą akceptować ciąg znaków i zwracać ciąg znaków, null
lub undefined
.
Oto przykład walidatora, który usuwa wszystkie znaki a
z ciągu znaków:
function(newValue) {
return newValue.replace(/a/g, '');
}