Onay kutusu alanları

Onay kutusu alanında değer olarak bir dize ve metin olarak bir dize depolanır. Bu değeri 'TRUE' veya 'FALSE' olup metni 'true' ya da 'false'.

Onay kutusu alanı

Daraltılmış bloktaki onay kutusu alanı

içerik üretimi

JSON

{
  "type": "example_checkbox",
  "message0": "checkbox: %1",
  "args0": [
    {
      "type": "field_checkbox",
      "name": "FIELDNAME",
      "checked": true
    }
  ]
}

JavaScript

Blockly.Blocks['example_checkbox'] = {
  init: function() {
    this.appendDummyInput()
        .appendField('checkbox:')
        .appendField(new Blockly.FieldCheckbox(true), 'FIELDNAME');
  }
};

Onay kutusu kurucusu isteğe bağlı bir değer ve isteğe bağlı bir değer alır. doğrulayıcı. İsteğe bağlı değer 'TRUE', 'FALSE' veya boole değeri yoksa varsayılan olarak false olur.

Serileştirme

JSON

Onay kutusu alanı için JSON aşağıdaki gibi görünür:

{
  "fields": {
    "FIELDNAME": true
  }
}

Burada FIELDNAME, onay kutusu alanına referans veren bir dizedir ve değer, alana uygulanacak değerdir. Değer bir boole olmalıdır.

XML

Onay kutusu alanı için XML aşağıdaki gibi görünür:

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

veya

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

name özelliğinin, onay kutusu alanına referans veren bir dize içerdiğinde İç metin de alana uygulanacak değerdir. İç metin değeri kurucu değeriyle aynı kurallara sahiptir.

Tüm iç metnin seri durumdan çıkarılıp yeniden seri hale getirildikten sonra değerler büyük harfle ('TRUE' veya 'FALSE') olacaktır. Bu, bazı durumlarda yardımcı olabilir.

Özelleştirme

Onay işareti karakteri

Blockly.FieldCheckbox.CHECK_CHAR özelliği, görünür. Değer, unicode içeren bir dize olmalıdır karakteriyle ayrılır.

Onay işareti yerine kalp içeren onay kutusu alanı

CHECK_CHAR özelliği varsayılan olarak "\u2713" değerine ayarlanır. veya ✓.

Bu, global bir özelliktir. Bu nedenle, ayarlandığında tüm onay kutusu alanlarını değiştirir.

Onay kutusu doğrulayıcı oluşturma

Onay kutusu alanının değeri 'TRUE' veya 'FALSE' olduğundan doğrulayıcı bu değerleri (ör. bir dize) kabul edin ve 'TRUE', 'FALSE', null veya undefined.

Şunlara göre metin giriş alanını gizleyen veya gösteren bir doğrulayıcı örneği: onay kutusunun işaretli olup olmadığını belirtir:

  validate: function(newValue) {
    var sourceBlock = this.getSourceBlock();
    sourceBlock.showTextField_ = newValue == 'TRUE';
    sourceBlock.updateTextField();

    return newValue;
  },

  updateTextField: function() {
    var input = this.getInput('DUMMY');
    if (this.showTextField_ && !this.getField('TEXT')) {
      input.appendField(new Blockly.FieldTextInput(), 'TEXT');
    } else if (!this.showTextField_ && this.getField('TEXT')) {
      input.removeField('TEXT');
    }
  }

Doğrulayıcı içeren onay kutusu alanı