チェックボックス フィールドには、値として文字列が格納され、テキストとして文字列が格納されます。その
値は 'TRUE'
または 'FALSE'
で、テキストは 'true'
または
'false'
。
チェックボックス フィールド
折りたたまれたブロックのチェックボックス フィールド
作成
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');
}
};
チェックボックス コンストラクタは、省略可能な値と、オプションの
バリデータ。オプションの値は次のいずれかです。
'TRUE'
、'FALSE'
、ブール値です。指定しない場合、デフォルトは false
になります。
シリアル化
JSON
チェックボックス フィールドの JSON は次のようになります。
{
"fields": {
"FIELDNAME": true
}
}
ここで、FIELDNAME
はチェックボックス フィールドを参照する文字列です。
value は、フィールドに適用する値です。値はブール値にする必要があります。
XML
チェックボックス フィールドの XML は次のようになります。
<field name="FIELDNAME">TRUE</field>
または
<field name="FIELDNAME">true</field>
ここで、name
属性にチェックボックス フィールドを参照する文字列が含まれている場合、
内部テキストはフィールドに適用する値です。内部テキスト値
コンストラクタ値と同じルールに従います。
すべての内部テキストがシリアル化解除およびシリアル化解除された後、
値は大文字で表示されます('TRUE'
または 'FALSE'
)。ときどき重要になる
重要な役割を果たします
カスタマイズ
チェックマーク文字
Blockly.FieldCheckbox.CHECK_CHAR
プロパティを使用すると、
表示されます。値には Unicode を含む文字列を指定してください
あります。
CHECK_CHAR
プロパティのデフォルトは「\u2713」または ✓ をタップします。
これはグローバル プロパティであるため、設定されるとすべてのチェックボックス フィールドが変更されます。
チェックボックス バリデータの作成
チェックボックス フィールドの値が 'TRUE'
または 'FALSE'
であるため、バリデータは
これらの値(文字列)を受け取って、'TRUE'
、'FALSE'
、null
、または
undefined
。
こちらは、テキスト入力フィールドの表示 / 非表示を チェックボックスがオンになっているかどうか:
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');
}
}