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

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

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