Kolom input teks multibaris

Kolom input teks multibaris 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. Tidak seperti kolom input teks, kolom ini juga mendukung karakter baris baru yang dimasukkan di editor.

Kolom input teks multibaris

Kolom input teks multibaris dengan editor terbuka

Kolom input teks multibaris pada blok yang diciutkan

yang Dipicu oleh Tren

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

Definisi JSON juga memungkinkan Anda menetapkan opsi spellcheck.

Serialisasi

JSON

JSON untuk kolom input teks multibaris terlihat seperti berikut:

{
  "fields": {
    "FIELDNAME": "line1\nline2"
  }
}

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

XML

XML untuk kolom input teks multibaris terlihat seperti ini:

<field name="FIELDNAME">line1&amp;#10;line2</field>

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

Penyesuaian

Periksa ejaan

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

Kolom input teks dengan dan tanpa pemeriksaan ejaan

Pemeriksaan ejaan diaktifkan secara default.

Ini berlaku untuk masing-masing kolom. Jika Anda ingin mengubah semua kolom, ubah properti Blockly.FieldMultilineInput.prototype.spellcheck_.

Membuat validator input teks

Nilai kolom input teks multibaris 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/gm, '');
}