Trường hộp đánh dấu lưu trữ một chuỗi dưới dạng giá trị và một chuỗi làm văn bản.
giá trị là 'TRUE'
hoặc 'FALSE'
và văn bản của giá trị đó là 'true'
hoặc
'false'
.
Trường hộp đánh dấu
Trường hộp đánh dấu trên khối đã thu gọn
dựa trên xu hướng
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');
}
};
Hàm khởi tạo hộp đánh dấu lấy một giá trị không bắt buộc và một giá trị không bắt buộc
trình xác thực. Giá trị không bắt buộc nên là
'TRUE'
, 'FALSE'
hoặc boolean, nếu không giá trị mặc định sẽ là false
.
Chuyển đổi tuần tự
JSON
JSON cho trường hộp đánh dấu sẽ có dạng như sau:
{
"fields": {
"FIELDNAME": true
}
}
Trong đó FIELDNAME
là một chuỗi tham chiếu đến một trường hộp đánh dấu và
giá trị là giá trị áp dụng cho trường. Giá trị phải là boolean.
XML
XML cho trường hộp đánh dấu sẽ có dạng như sau:
<field name="FIELDNAME">TRUE</field>
hoặc
<field name="FIELDNAME">true</field>
Trong trường hợp thuộc tính name
chứa một chuỗi tham chiếu đến một trường hộp đánh dấu,
và văn bản bên trong là giá trị áp dụng cho trường này. Giá trị văn bản bên trong
tuân theo các quy tắc giống như giá trị hàm khởi tạo.
Lưu ý rằng sau khi được giải tuần tự và chuyển đổi tuần tự, tất cả nội dung bên trong
các giá trị sẽ được viết hoa ('TRUE'
hoặc 'FALSE'
). Điều này đôi khi quan trọng
khi thay đổi không gian làm việc.
Tuỳ chỉnh
Ký tự dấu kiểm
Bạn có thể sử dụng thuộc tính Blockly.FieldCheckbox.CHECK_CHAR
để thay đổi những gì
dấu kiểm sẽ như thế nào. Giá trị phải là một chuỗi có chứa unicode
.
Thuộc tính CHECK_CHAR
được đặt mặc định là "\u2713" hoặc ✓.
Đây là thuộc tính chung, vì vậy thuộc tính này sẽ sửa đổi tất cả các trường hộp đánh dấu khi đặt.
Tạo trình xác thực hộp đánh dấu
Giá trị của trường hộp đánh dấu là 'TRUE'
hoặc 'FALSE'
, do đó, trình xác thực phải
chấp nhận các giá trị đó (ví dụ: một chuỗi) và trả về 'TRUE'
, 'FALSE'
, null
hoặc
undefined
.
Sau đây là ví dụ về trình xác thực giúp ẩn hoặc hiển thị trường nhập văn bản dựa trên liệu hộp kiểm có được chọn hay không:
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');
}
}