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