Pole wyboru przechowuje ciąg znaków jako wartość i ciąg znaków jako tekst. Jego wartość to 'TRUE' lub 'FALSE', a tekst to 'true' lub 'false'.
Pole wyboru

Pole wyboru w zwiniętym bloku

na podstawie trendów
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');
}
};
Konstruktor pola wyboru przyjmuje opcjonalną wartość i opcjonalny walidator. Opcjonalna wartość powinna być liczbą 'TRUE', 'FALSE' lub wartością logiczną. W przeciwnym razie domyślnie będzie to false.
Publikacja w odcinkach
JSON
Kod JSON pola wyboru wygląda tak:
{
"fields": {
"FIELDNAME": true
}
}
gdzie FIELDNAME to ciąg znaków odwołujący się do pola wyboru, a wartość to wartość, którą chcesz zastosować w polu. Wartość musi być wartością logiczną.
XML
Kod XML pola wyboru wygląda tak:
<field name="FIELDNAME">TRUE</field>
lub
<field name="FIELDNAME">true</field>
gdzie atrybut name zawiera ciąg znaków odwołujący się do pola wyboru, a tekst wewnętrzny to wartość, którą należy zastosować w polu. Wartość tekstu wewnętrznego
jest zgodna z tymi samymi regułami co wartość konstruktora.
Pamiętaj, że po deserializacji i ponownej serializacji wszystkie wartości tekstu wewnętrznego będą pisane wielkimi literami ('TRUE' lub 'FALSE'). Czasami jest to ważne podczas porównywania obszarów roboczych.
Dostosowywanie
Znak znacznika wyboru
Właściwość Blockly.FieldCheckbox.CHECK_CHAR może służyć do zmiany wyglądu znacznika wyboru. Wartość powinna być ciągiem znaków Unicode.

Właściwość CHECK_CHAR ma domyślnie wartość \u2713 lub ✓.
Jest to właściwość globalna, więc po jej ustawieniu wszystkie pola wyboru zostaną zmodyfikowane.
Tworzenie walidatora pola wyboru
Wartość pola wyboru to 'TRUE' lub 'FALSE', więc weryfikator powinien akceptować te wartości (czyli ciąg znaków) i zwracać 'TRUE', 'FALSE', null lub undefined.
Oto przykład weryfikatora, który ukrywa lub wyświetla pole do wprowadzania tekstu w zależności od tego, czy pole wyboru jest zaznaczone:
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');
}
}
Pole wyboru z walidatorem
