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

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

ตัวสร้างช่องทำเครื่องหมายจะใช้ค่าที่ไม่บังคับและvalidatorซึ่งไม่บังคับ ค่าที่ไม่บังคับควรเป็น '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');
    }
  }

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