Un campo de casilla de verificación almacena una cadena como su valor y una cadena como su texto. Es
valor es 'TRUE'
o 'FALSE'
, y su texto es 'true'
o
'false'
Campo de casilla de verificación
Campo de casilla de verificación del bloque contraído
Creación
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');
}
};
El constructor de la casilla de verificación toma un valor opcional y un
validador. El valor opcional debe ser
'TRUE'
, 'FALSE'
o un valor booleano. De lo contrario, el valor predeterminado será false
.
Serialización
JSON
El JSON para un campo de casilla de verificación se ve de la siguiente manera:
{
"fields": {
"FIELDNAME": true
}
}
Donde FIELDNAME
es una cadena que hace referencia a un campo de casilla de verificación.
el valor es el valor que se aplicará al campo. El valor debe ser booleano.
XML
El XML del campo de casilla de verificación se ve así:
<field name="FIELDNAME">TRUE</field>
o
<field name="FIELDNAME">true</field>
El atributo name
contiene una cadena que hace referencia a un campo de casilla de verificación.
y el texto interno es el valor que se aplicará al campo. El valor del texto interno
sigue las mismas reglas que el valor del constructor.
Ten en cuenta que, después de deserializar y volver a serializar todo el texto interno
los valores estarán en mayúsculas ('TRUE'
o 'FALSE'
). A veces, esto es importante
a la hora de diferenciar lugares de trabajo.
Personalización
Carácter de marca de verificación
La propiedad Blockly.FieldCheckbox.CHECK_CHAR
se puede usar para cambiar lo que
similar a una marca
de verificación. El valor debe ser una cadena que contenga un código Unicode
carácter.
El valor predeterminado de la propiedad CHECK_CHAR
es "\u2713" o ✓.
Esta es una propiedad global, por lo que modificará todos los campos de las casillas de verificación cuando se establezca.
Crea un validador de casillas de verificación
El valor de un campo de casilla de verificación es 'TRUE'
o 'FALSE'
, por lo que un validador debería
aceptar esos valores (es decir, una cadena) y mostrar 'TRUE'
, 'FALSE'
, null
o
undefined
Este es un ejemplo de un validador que oculta o muestra un campo de entrada de texto basado en si la casilla de verificación está marcada:
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');
}
}