核取方塊欄位會將字串儲存為值,並將字串儲存為文字。結果
值為 '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
是參照核取方塊欄位的字串,
值為要套用至欄位的值。此值必須是布林值。
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');
}
}