数字字段将数字存储为其 value
,将字符串存储为其 text
。现在是 value
始终是一个有效的数字,根据给定的约束条件定义
在创建时指定的字段其文本可以是在编辑器中输入的任何字符串。
数字字段
编辑器已打开的编号字段
收起的块上的数字字段
恣意创作
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');
}
};
数字构造函数采用以下参数:
value
应转换为数字。否则将使用 0。
序列化
JSON
数字字段的 JSON 如下所示:
{
"fields": {
"FIELDNAME": 0
}
}
其中 FIELDNAME
是引用数字字段的字符串,以及
值是应用于该字段的值。值
遵循与构造函数值相同的规则。
XML
数字字段的 XML 如下所示:
<field name="FIELDNAME">0</field>
field
节点的 name
属性包含引用数字的字符串
字段,节点的内部 text
是要应用于该字段的 value
。通过
内部文本值遵循与构造函数值相同的规则。
限制条件
限制条件可以在字段定义中设置,也可以通过使用 setConstraints 函数。
最小值
min
值用于设置字段可以接受的最小/最负值
包含。
最大值
max
值用于设置字段允许的最大/正值
包含。
舍入
precision
会将值四舍五入为最接近的精度倍数。可以是
用于使该字段仅接受 .01、10、42 等的倍数。
常见限制条件
正数
要强制字段仅接受正数,请将 min
值设置为
1.
整数
如需强制字段仅接受整数,请将 precision
设置为 1。
创建数字验证器
数字字段的值是一个数字,因此所有验证器都必须接受 number
和
返回 number
、null
或 undefined
。
下面是一个将值更改为 0 或 1 的验证器示例 具体取决于其值是奇数还是偶数。
function(newValue) {
return newValue % 2;
}