字段详解

所有字段都必须有一个值,该值是字段数据的可信来源。它可以是任意类型(字符串、数字、数组、日期等)。 字段可以使用验证器来限制值或转换为机器可读的格式(例如标准化日期格式)。

文字

所有字段均包含文本,这是表示字段值的简单人类可读字符串。但这并不一定表示它们是相同的。例如,布尔值字段中的文本可以是“On”或“Off”,而其值为“true”或“false”。

此文本是方块收起时显示的文本,用于提供无障碍功能,并且可以选择性地加入 块显示界面

可修改的字段与不可修改的字段

一般来说,可修改字段允许用户更改代码,而不可修改字段则向用户显示有关该块的信息。点击可修改字段可能会显示富媒体编辑器。

可修改的字段包括:

不可修改的字段包括:

序列化

可序列化字段的值会以保存格式(JSON 或 XML)进行编码。所有可修改的字段均可序列化,因为它们的值是动态的。不可修改字段的值通常不是动态值,因此它们通常不会被序列化。

序列化字段包括:

非序列化字段包括:

请注意,“标签可序列化”字段不可修改,但可序列化。这意味着,您只能程序化地修改该模板,而不能通过用户可见的界面进行修改。修改后,其值会在生成的 JSON/XML 中编码。

代码生成

除了连接块和断开连接块之外,字段是用户控制由 Blockly 生成的代码的唯一方式。通过字段提供的编辑器,用户可以修改字段存储的值。然后,块的生成器可以访问相应字段的值,以便在生成的代码中使用。

如需详细了解如何在生成器中使用字段的值,请参阅字段代码生成

块显示

字段的块显示方式是表示字段值的 SVG 元素的集合。它们会占用块上的空间,当它们改变大小时,它们会强制块改变大小。字段的块上显示可以简单或复杂,具体取决于其需求。

下面列出了一些不同块上显示屏的示例(按复杂程度从高到低的顺序排列)。

字段类型 说明
标签 仅包含一个文本元素。
角度 包含背景矩形、文本元素和度数符号。
乌龟 包含背景矩形、文本元素以及许多用于构建乌龟图形的 SVG 元素。

编辑器显示

当用户点击可修改的字段时,该字段可能会显示任意复杂编辑器。

下面列出了一些不同编辑器的示例(按复杂程度从高到低的顺序排列)。

字段类型 说明
复选框 点击时无编辑器。on 块显示会更新。
数字输入框 文本编辑器,叠加在块显示屏幕的上方。用户可以输入;编辑器可能会更改颜色以指示错误值。
角度选择器 角度选择器既有用于输入数字的文本编辑器,也有用于直观地选择角度的可拖动编辑器。

其他显示模式

收起模式:用户收起代码块。代码块会使用各个字段返回的文本,显示其值的文本表示形式。

龟场方块收起

无障碍模式:用户可能使用屏幕阅读器或类似技术与 Blockly 互动。该字段的文本可以读出给用户。