Trường số lưu trữ một số dưới dạng value
và một chuỗi dưới dạng text
. value
luôn là một số hợp lệ theo định nghĩa của các ràng buộc được đưa ra cho trường tại thời điểm tạo; văn bản của trường có thể là bất kỳ chuỗi nào được nhập vào trình chỉnh sửa của trường.
Trường số
Trường số có trình chỉnh sửa đang mở
Trường số trên khối bị thu gọn
dựa trên xu hướng
JSON
{
"type": "example_number",
"message0": "number: %1",
"args0": [
{
"type": "field_number",
"name": "FIELDNAME",
"value": 100,
"min": 0,
"max": 100,
"precision": 10
}
]
}
JavaScript
Blockly.Blocks['example_number'] = {
init: function() {
this.appendDummyInput()
.appendField("number:")
.appendField(new Blockly.FieldNumber(100, 0, 100, 10), 'FIELDNAME');
}
};
Hàm dựng số nhận các giá trị sau:
- một
value
không bắt buộc - một
min
không bắt buộc - một
max
không bắt buộc - một
precision
không bắt buộc - một
validator
không bắt buộc
value
phải truyền đến một số. Nếu không, hệ thống sẽ dùng giá trị 0.
Chuyển đổi tuần tự
JSON
JSON cho một trường số sẽ có dạng như sau:
{
"fields": {
"FIELDNAME": 0
}
}
Trong đó FIELDNAME
là một chuỗi tham chiếu đến một trường số và giá trị là giá trị cần áp dụng cho trường. Giá trị này tuân theo các quy tắc tương tự như giá trị của hàm khởi tạo.
XML
XML cho một trường số sẽ có dạng như sau:
<field name="FIELDNAME">0</field>
Thuộc tính name
của nút field
chứa một chuỗi tham chiếu đến một trường số và text
bên trong của nút là value
để áp dụng cho trường. Giá trị văn bản bên trong tuân theo các quy tắc tương tự như giá trị của hàm khởi tạo.
Giới hạn
Bạn có thể đặt các ràng buộc trong định nghĩa trường hoặc bằng cách sử dụng hàm setConstraints.
Giá trị nhỏ nhất
Giá trị min
đặt giá trị nhỏ nhất/âm nhất mà trường được phép chứa.
Giá trị tối đa
Giá trị max
đặt giá trị lớn nhất/dương nhất mà trường được phép chứa.
Làm tròn
precision
làm tròn giá trị đến bội số gần nhất của độ chính xác. Bạn có thể dùng thuộc tính này để chỉ chấp nhận các bội số của 0,01, 10, 42, v .v.
Các ràng buộc thường gặp
Số dương
Để buộc trường của bạn chỉ chấp nhận số dương, hãy đặt giá trị min
thành 1.
Số nguyên
Để buộc trường của bạn chỉ chấp nhận số nguyên, hãy đặt precision
thành 1.
Tạo trình xác thực số
Giá trị của trường số là một số, vì vậy, mọi trình xác thực phải chấp nhận một number
và trả về một number
, null
hoặc undefined
.
Dưới đây là ví dụ về một trình xác thực thay đổi giá trị thành 0 hoặc 1 tuỳ thuộc vào giá trị là số lẻ hay số chẵn.
function(newValue) {
return newValue % 2;
}