研究调查问卷:请告诉我们您使用 Blockly 的体验
开始调查问卷
图片字段
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
图片字段会将字符串作为其值存储,并将字符串作为其文本存储。其值是图片的 src,而文本是用于描述/表示图片的 alt 字符串。
图片字段

收起的版块上的图片字段

创建
JSON
{
"type": "example_image",
"message0": "image: %1",
"args0": [
{
"type": "field_image",
"src": "https://www.gstatic.com/codesite/ph/images/star_on.gif",
"width": 15,
"height": 15,
"alt": "*"
}
]
}
JavaScript
Blockly.Blocks['example_image'] = {
init: function() {
this.appendDummyInput()
.appendField("image:")
.appendField(new Blockly.FieldImage(
"https://www.gstatic.com/codesite/ph/images/star_on.gif",
15,
15,
"*"));
}
};
图片构造函数接受以下内容:
| 参数 |
说明 |
src |
指向光栅图片文件的字符串。 |
width |
必须转换为非零数。 |
height |
必须转换为非零数。 |
opt_alt |
(可选)准确描述/表示图片的字符串。当块收起时,系统会使用此文字,而不是图片。如果为 null 或 undefined,则使用空字符串。 |
opt_onClick |
(可选)在用户点击该字段时调用的函数。 |
opt_flipRtl |
(可选)布尔值。如果为 true,则在从右到左模式下,图片会沿垂直轴翻转。默认值为 false。适用于“向左转”和“向右转”图标。 |
序列化
图片字段不可序列化。
点击处理程序
图片字段不接受验证器;而是明确接受一个函数,该函数会在每次点击该字段时被调用。这意味着图片可以像块上存在的按钮一样。
点击处理脚本可以在 JavaScript 构造函数中设置,也可以使用 setOnClickHandler 函数设置。
以下是一个点击处理脚本示例,该脚本会在被调用时收起该块。
function() {
this.getSourceBlock().setCollapsed(true);
}

如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eImage fields in Blockly store image source (src) as their value and alternative text (alt) for accessibility.\u003c/p\u003e\n"],["\u003cp\u003eThey are created using the \u003ccode\u003eBlockly.FieldImage\u003c/code\u003e constructor in JavaScript, requiring src, width, and height parameters.\u003c/p\u003e\n"],["\u003cp\u003eImage fields are not serializable and cannot be stored directly in block data.\u003c/p\u003e\n"],["\u003cp\u003eThey can function as buttons using an optional onClick handler to trigger actions like collapsing the block.\u003c/p\u003e\n"]]],["An image field's value is the image's `src` URL, and its text is the `alt` string. Key actions include: specifying the `src`, `width`, `height`, and optional `alt` and `onClick` parameters during creation. The `onClick` function enables images to act as buttons. The `opt_flipRtl` parameter is used to mirror the image. The field is constructed through JSON or JavaScript. Image fields are not serializable. The `setOnClickHandler` function can also be used to set the `onClick` function.\n"],null,["# Image fields\n\nAn image field stores a string as its value, and a string as its text. Its\nvalue is the src of the image, while its text is an alt string\ndescribing/representing the image.\n\n#### Image field\n\n#### Image field on collapsed block\n\nCreation\n--------\n\n### JSON\n\n {\n \"type\": \"example_image\",\n \"message0\": \"image: %1\",\n \"args0\": [\n {\n \"type\": \"field_image\",\n \"src\": \"https://www.gstatic.com/codesite/ph/images/star_on.gif\",\n \"width\": 15,\n \"height\": 15,\n \"alt\": \"*\"\n }\n ]\n }\n\n### JavaScript\n\n Blockly.Blocks['example_image'] = {\n init: function() {\n this.appendDummyInput()\n .appendField(\"image:\")\n .appendField(new Blockly.FieldImage(\n \"https://www.gstatic.com/codesite/ph/images/star_on.gif\",\n 15,\n 15,\n \"*\"));\n }\n };\n\nThe image constructor takes in:\n\n| Parameter | Description |\n|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `src` | A string that points to a [raster image](https://developer.mozilla.org/en-US/docs/Glossary/raster_image) file. |\n| `width` | Must cast to a non-zero number. |\n| `height` | Must cast to a non-zero number. |\n| `opt_alt` | (Optional) A string that accurately describes/represents the image. This is used instead of the image when the block is collapsed. If it is `null` or `undefined` an empty string will be used. |\n| `opt_onClick` | (Optional) A function to call when the field is clicked. |\n| `opt_flipRtl` | (Optional) A boolean. If `true`, the image is flipped across the vertical axis when in right-to-left mode. Defaults to `false`. Useful for \"turn left\" and \"turn right\" icons. |\n\nSerialization\n-------------\n\nImage fields are not serializable.\n\nClick handler\n-------------\n\n| **Note:** For information on validators in general see [Validators](/blockly/guides/create-custom-blocks/fields/validators).\n\nThe image field does not accept a validator; instead it explicitly accepts a\nfunction that is called whenever the field is clicked. This means that images\ncan act like buttons that exist on blocks.\n\n*The on click handler can be set in the [JavaScript Constructor](#creation) or\nusing the\n[setOnClickHandler](/blockly/reference/js/blockly.fieldimage_class.setonclickhandler_1_method)\nfunction.*\n\nHere is an example of an on click handler that collapses the block when\ncalled. \n\n function() {\n this.getSourceBlock().setCollapsed(true);\n }"]]