Kolom input teks

Kolom input teks menyimpan string sebagai nilainya dan string sebagai teksnya. Nilainya selalu berupa string yang valid, sedangkan teksnya dapat berupa string apa pun yang dimasukkan ke dalam editornya.

Kolom input teks

Blok dengan label "input teks:" dan kolom input teks yang ditetapkan ke "teks
default".

Kolom input teks dengan editor terbuka

Blok yang sama dengan kolom yang sedang
diedit.

Kolom input teks pada blok yang diciutkan

Blok yang sama setelah diciutkan. Elemen ini memiliki label "text input: default
text" dan tepi kanan yang tidak rata untuk menunjukkan bahwa elemen tersebut
ditutup.

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 menggunakan nilai opsional dan validator opsional. Nilai harus ditransmisikan ke string. Jika null atau undefined, string kosong akan digunakan.

Definisi JSON juga memungkinkan Anda menetapkan opsi pemeriksaan ejaan.

Serialisasi dan XML

JSON

JSON untuk kolom input teks terlihat seperti ini:

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

Dengan FIELDNAME adalah string yang mereferensikan kolom input teks, dan nilai adalah nilai yang akan diterapkan ke kolom. Nilai ini mengikuti aturan yang sama dengan nilai konstruktor.

XML

XML untuk kolom input teks terlihat seperti ini:

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

Dengan atribut name kolom berisi string yang mereferensikan kolom input teks, dan teks dalam adalah nilai yang akan diterapkan ke kolom. Nilai teks dalam mengikuti aturan yang sama dengan nilai konstruktor.

Penyesuaian

Periksa ejaan

Fungsi setSpellcheck dapat digunakan untuk menetapkan apakah kolom akan memeriksa ejaan teks inputnya atau tidak.

Kolom input teks dengan dan tanpa periksa ejaan

GIF animasi yang menampilkan dua blok dengan kolom input teks. Blok pertama telah mengaktifkan
pemeriksaan ejaan dan kata yang salah eja digarisbawahi dengan garis merah bergelombang. Blok
kedua menonaktifkan periksa ejaan dan kata yang salah eja tidak
digarisbawahi.

Pemeriksaan ejaan aktif secara default.

Hal ini berlaku untuk setiap kolom. Jika Anda ingin mengubah semua kolom, ubah properti Blockly.FieldTextInput.prototype.spellcheck_.

Membuat validator input teks

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

Berikut adalah contoh validator yang menghapus semua karakter 'a' dari string:

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

GIF animasi yang menampilkan kolom input teks yang sedang divalidasi. Saat pengguna
mengetik &quot;bbbaaa&quot; dan mengklik di tempat lain, kolom akan diubah menjadi
&quot;bbb&quot;.