值
所有字段都必须有一个值,该值是相应字段数据的可信来源。可以是任何类型(字符串、数字、数组、日期等)。 字段可以使用验证器来限制值或转换为机器可读的格式(例如,规范化日期格式)。
文本
所有字段都包含文本,即表示字段值的简单人类可读字符串。但这并不一定意味着它们是相同的。例如,布尔值字段上的文本可能是“开启”或“关闭”,而其值是 true
或 false
。
此文本是块折叠时显示的内容,用于提高无障碍功能,并且可以选择性地作为块内显示的一部分。
可修改的字段与不可修改的字段
一般来说,可修改的字段允许用户更改代码,而不可修改的字段则向用户显示有关代码块的信息。 可修改字段在点击后可能会显示富文本编辑器。
可修改的字段包括:
不可修改的字段包括:
序列化
可序列化字段的值会以保存格式(JSON 或 XML)进行编码。所有可编辑字段都是可序列化的,因为它们的值是动态的。不可编辑字段的值通常不是动态的,因此通常不会序列化。
序列化字段包括:
非序列化字段包括:
请注意,标签可序列化字段不可修改,但可序列化。这意味着,只能通过编程方式修改,而不能通过用户可见的界面修改。修改后,其值会编码到生成的 JSON/XML 中。
代码生成
除了连接和断开代码块之外,字段是用户控制 Blockly 生成的代码的唯一方式。字段提供的编辑器可让用户修改字段存储的值。然后,相应块的生成器可以访问该字段的值,以用于生成的代码中。
如需详细了解如何在生成器中使用字段的值,请参阅字段代码生成。
块状显示
字段的块内显示是一组表示字段值的 SVG 元素。它们会占用代码块中的空间,并且随着大小的变化,它们会强制代码块改变大小。字段的块内显示可以很简单,也可以很复杂,具体取决于其需求。
以下是一些不同块状展示的示例,按复杂程度递增的顺序列出。
字段类型 | 说明 |
---|---|
标签 | 仅包含一个文本元素。 |
角度 | 包含背景矩形、文本元素和度数符号。 |
乌龟 | 包含一个背景矩形、一个文本元素以及许多用于构建海龟图形的 SVG 元素。 |
编辑器显示
当用户点击可编辑字段时,该字段可能会显示任意复杂的编辑器。
以下是一些不同编辑器的示例,按复杂程度递增的顺序排列。
字段类型 | 说明 |
---|---|
复选框 | 点击后没有编辑器。块上的显示内容会更新。 |
数字输入 | 叠加在块状显示内容上方的文本编辑器。用户可以输入内容;编辑器可能会更改颜色以指示错误的值。 |
角度选择器 | 角度选择器既有用于输入数字的文本编辑器,也有用于直观选择角度的可拖动编辑器。 |
其他显示模式
折叠模式:用户折叠了该代码块。该代码块会使用各个字段返回的文本显示其值的文本表示形式。
无障碍模式:用户可能正在使用屏幕阅读器或类似技术与 Blockly 进行互动。系统可能会向用户读出字段的文本。