Kolom input teks

Kolom input teks menyimpan string sebagai nilainya dan string sebagai teksnya. Ini nilainya selalu berupa {i>string<i} yang valid, sedangkan teksnya dapat berupa {i>string<i} apa pun yang dimasukkan editornya.

Bidang masukan teks

Kolom input teks dengan editor terbuka

Kolom input teks pada blok yang diciutkan

yang Dipicu oleh Tren

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 input teks mengambil nilai opsional dan opsional validator. Nilai harus ditransmisikan ke {i>string<i}. Jika yang ditampilkan adalah null atau undefined, string kosong akan digunakan.

Definisi JSON juga memungkinkan Anda menetapkan opsi spellcheck.

Serialisasi dan XML

JSON

JSON untuk kolom input teks akan terlihat seperti ini:

{
  "fields": {
    "FIELDNAME": "text"
  }
}

Dengan FIELDNAME adalah string yang merujuk ke kolom input teks, dan nilai adalah nilai yang akan diterapkan ke {i>field<i}. Nilainya mengikuti aturan yang sama dengan nilai konstruktor.

XML

XML untuk kolom input teks terlihat seperti ini:

<field name="FIELDNAME">text</field>

Ketika atribut name kolom berisi string yang merujuk ke input teks , dan teks dalam adalah nilai yang akan diterapkan ke kolom. Bagian dalam nilai teks mengikuti aturan yang sama dengan nilai konstruktor.

Penyesuaian

Periksa ejaan

Tujuan setSpellcheck dapat digunakan untuk mengatur apakah bidang memeriksa ejaan teks inputnya atau tidak.

Kolom input teks dengan dan tanpa fitur periksa ejaan

Periksa ejaan diaktifkan secara default.

Ini berlaku untuk kolom individual. Jika Anda ingin mengubah semua bidang, ubah Blockly.FieldTextInput.prototype.spellcheck_.

Membuat validator input teks

Nilai kolom input teks berupa string sehingga validator harus menerima string dan menampilkan string, null, atau undefined.

Berikut adalah contoh validator yang menghapus semua 'a' karakter dari {i>string<i}:

function(newValue) {
  return newValue.replace(/a/g, '');
}