Trường số lưu trữ một số dưới dạng value
và một chuỗi dưới dạng text
. Bây giờ là value
luôn là số hợp lệ như được xác định theo các ràng buộc được đưa ra cho
trường khi tạo; văn bản của nó có thể là bất kỳ chuỗi nào được nhập vào trình chỉnh sửa.
Trường số
Trường số với trình chỉnh sửa đang mở
Trường số trên khối đã 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 khởi tạo số sẽ nhận các giá trị sau:
value
(không bắt buộc)- phút (không bắt buộc)
- tối đa
- độ chính xác không bắt buộc
- một trình xác thực không bắt buộc
value
phải truyền đến một số. Nếu không phải là 0, hàm sẽ được sử dụng.
Chuyển đổi tuần tự
JSON
JSON cho 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ị áp dụng cho trường. Giá trị
tuân theo các quy tắc giống như giá trị hàm khởi tạo.
XML
XML cho 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 số
và text
bên trong của nút là value
để áp dụng cho trường. Chiến lược phát hành đĩa đơn
giá trị văn bản bên trong tuân theo các quy tắc tương tự như giá trị hàm khởi tạo.
Giới hạn
Bạn có thể thiết lập các quy tắc ràng buộc trong phần định nghĩa trường hoặc sử dụng setConstraints .
Giá trị tối thiểu
Giá trị min
đặt giá trị nhỏ nhất/âm lớn 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/có giá trị 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ố chính xác gần nhất. Thông tin này có thể là
được sử dụng để làm cho trường chỉ chấp nhận bội số của .01, 10, 42, v.v.
Các quy tắc ràng buộc phổ biến
Số dương
Để buộc trường của bạn chỉ chấp nhận các 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 một 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 đều phải chấp nhận number
và
trả về number
, null
hoặc undefined
.
Dưới đây là ví dụ về trình xác thực thay đổi giá trị thành 0 hoặc 1 tuỳ thuộc vào việc giá trị là lẻ hay chẵn.
function(newValue) {
return newValue % 2;
}