Wielowierszowe pole 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 do edytora. W przeciwieństwie do pola do wprowadzania tekstu to pole obsługuje też znaki nowego wiersza wpisane w edytorze.
Wielowierszowe pole do wprowadzania tekstu
Wielowierszowe pole do wprowadzania tekstu z otwartym edytorem
Wielowierszowe pole wprowadzania tekstu w zwiniętym bloku
na podstawie trendów
JSON
{
"type": "example_multilinetextinput",
"message0": "multiline text input: %1",
"args0": [
{
"type": "field_multilinetext",
"name": "FIELDNAME",
"text": "default text\n with newline character",
"spellcheck": false
}
]
}
JavaScript
Blockly.Blocks['example_multilinetextinput'] = {
init: function() {
this.appendDummyInput()
.appendField("multiline text input:")
.appendField(new Blockly.FieldMultilineInput('default text\n with newline character'),
'FIELDNAME');
}
};
Konstruktor do wprowadzania tekstu wielowierszowego 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
JSON
Kod JSON wielowierszowego pola do wprowadzania tekstu wygląda tak:
{
"fields": {
"FIELDNAME": "line1\nline2"
}
}
Gdzie FIELDNAME
to ciąg znaków odwołujący się do wielowierszowego pola do wprowadzania tekstu, a wartość to wartość do zastosowania do pola. Wartość podlega tym samym regułom co wartość konstruktora.
XML
Kod XML wielowierszowego pola do wprowadzania tekstu wygląda tak:
<field name="FIELDNAME">line1&#10;line2</field>
Gdzie atrybut name
pola zawiera ciąg znaków odwołujący się do wielowierszowego pola do wprowadzania tekstu, a tekst wewnętrzny to wartość do zastosowania do pola. Wewnętrzna wartość tekstowa 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.FieldMultilineInput.prototype.spellcheck_
.
Tworzenie walidatora wprowadzania tekstu
Wartość wielowierszowego pola do wprowadzania tekstu jest ciągiem tekstowym, 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/gm, '');
}