Trường số

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 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;
}