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

无障碍模式:用户可能正在使用屏幕阅读器或类似技术与 Blockly 进行互动。系统可能会向用户读出字段的文本。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-09-29。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-29。"],[],["Fields hold a value, which is the core data, and text, a human-readable string that may differ from the value. Editable fields allow user modifications, while non-editable fields display information. Serializable fields, including all editable and label serializable, store their values in save formats; non-serialized fields, like labels and images, generally don't. Fields control the generated code through user-modifiable values. On-block displays use SVG elements, varying in complexity, and editors range from simple text to complex interactive tools.\n"]]