核取方塊欄位

核取方塊欄位會將字串儲存為值,並將字串儲存為文字。結果 值為 '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 是參照核取方塊欄位的字串, 值為要套用至欄位的值。此值必須是布林值。

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'nullundefined

以下提供的驗證工具範例會根據 是否已勾選該核取方塊:

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

含有驗證工具的核取方塊欄位