ช่องช่องทำเครื่องหมายจะจัดเก็บสตริงเป็นค่าและสตริงเป็นข้อความ คือ
ค่าจะเป็น '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');
}
}