체크박스 필드

체크박스 필드는 문자열을 값으로, 문자열을 텍스트로 저장합니다. 자체 값은 'TRUE' 또는 'FALSE'이고 텍스트는 'true' 또는 'false'입니다.

체크박스 필드

접힌 블록의 체크박스 필드

생성

JSON

{
  "type": "example_checkbox",
  "message0": "checkbox: %1",
  "args0": [
    {
      "type": "field_checkbox",
      "name": "FIELDNAME",
      "checked": true
    }
  ]
}

자바스크립트

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 속성을 사용하여 표시됩니다. 값은 유니코드를 포함하는 문자열이어야 합니다. 있습니다.

체크표시가 아닌 하트가 있는 체크박스 필드

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

검사기가 있는 체크박스 필드