數字欄位會將數字儲存為 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;
}