Pola tekstowe

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, '');
}