ช่องทำเครื่องหมาย

ช่องช่องทําเครื่องหมายจะจัดเก็บสตริงเป็นค่าและสตริงเป็นข้อความ ค่าของฟิลด์นี้คือ 'TRUE' หรือ 'FALSE' และข้อความคือ 'true' หรือ 'false'

ช่องทําเครื่องหมาย

![บล็อกที่มีป้ายกำกับ "ช่องทำเครื่องหมาย:" และช่องทำเครื่องหมายที่มีเครื่องหมายถูก

ช่องทําเครื่องหมายในบล็อกที่ยุบ

บล็อกเดียวกันหลังจากยุบ โดยมีป้ายกำกับ "variable: true" และขอบด้านขวาที่ขรุขระเพื่อแสดงว่ามีการยุบอยู่

การสร้างวิดีโอ

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

ช่องทําเครื่องหมายที่มีโปรแกรมตรวจสอบ

GIF แบบเคลื่อนไหวที่แสดงช่องทําเครื่องหมายที่เลือก เมื่อเลือกช่องทําเครื่องหมายแล้ว ช่องข้อความจะปรากฏขึ้น