blockly > 屏蔽

屏蔽课程

用于一个块的类。通常不会直接调用 workspace.newBlock()。

Signature:

export declare class Block implements IASTNodeLocation 

实现IASTNodeLocation

构造函数

构造函数 修饰符 说明
(构造函数)(workspace, protoName, opt_id) 构造 Block 类的新实例

属性

属性 修饰符 类型 说明
childBlocks_ protected 此 []
collapsed_ protected boolean
COLLAPSED_FIELD_NAME

static

readonly

string 为收起的字段提供的中性语言 ID。
COLLAPSED_INPUT_NAME

static

readonly

string 为收起的输入内容指定的语言中性 ID。
colour_ protected string 块的颜色,采用“#RRGGBB”格式。
compose? (p1:) => 无效 (可选)可选函数,用于根据赋值函数对话框的内容重新配置代码块。
contextMenu boolean
数据 字符串 | null 在块和 XML 之间往返的可选文本数据。没有任何影响。第三方可能会使用其作为元信息。
是否分解? (p1:工作区) => 屏蔽 (可选)可选函数,会使用此块的组件填充赋值器的对话框。
destroy? () => 无效 (可选)在处理过程中调用的可选方法。
处置 protected boolean 当前块是否正在处理中?
domToMutation? (p1:元素)=> 无效 (可选)可选的反序列化方法,用于定义如何从 XML 对变更状态进行反序列化。它必须与定义 mutationToDom 结合在一起。
getDeveloperVariables? () => 字符串 [] (可选)用于声明开发者变量的可选属性。返回供生成器使用的变量名称列表。开发者变量绝不会向用户显示,但会在生成的代码中声明为全局变量。
帽子? string (可选)帽子类型的名称。
helpUrl string | Function | null 代码块帮助字符串,或返回网址的函数。Null 表示无帮助。
图标 IIcon[]
ID [id] string
init? () => 无效 (可选)在初始化期间调用的可选方法。
inputList 输入[]
inputsInline? boolean (可选)
inputsInlineDefault? boolean (可选)
isInFlyout boolean
isInMutator boolean
isInsertionMarker_ protected boolean 如果此块是插入标记,则为 true。
loadExtraState? (p1:任何)=> 无效 (可选)可选的序列化方法,用于定义如何从兼容的 JSON 文件反序列化块的额外状态(例如变更状态)。它必须与定义 saveExtraState 结合在一起。
mutateToDom? (...p1: any[]) => 元素 (可选)可选的序列化方法,用于定义如何将变更状态序列化为 XML。它必须与定义 domToMutation 结合在一起。
nextConnection 连接 | null
变化? ((p1: Abstract) => void) | null (可选)在块的父工作区发生更改时使用的可选回调方法。通常只能通过构造函数、块类型初始化程序函数或扩展初始化程序函数进行调用。
outputConnection 连接 | null
outputShape_ protected 数字 | null
parentBlock_ protected 此 | null
previousConnection 连接 | null
已呈现 readonly boolean 此块是 BlockSVG 吗?
RTL boolean
saveExtraState? (doFullSerialization?: 布尔值) => 任意 (可选)可选的序列化方法,用于定义如何将块的额外状态(例如变更状态)序列化为 JSON 兼容的对象。它必须与定义 loadExtraState 结合在一起。
styleName_ protected string 方块样式的名称。
suppressPrefixSuffix boolean | null 一个可选属性,用于禁止向生成的代码添加 STATEMENT_PREFIX 和 STATEMENT_SUFFIX。
提示 Tooltip.TipInfo
type string
工作区 Google Workspace

方法

方法 修饰符 说明
addIcon(icon) 向砌块添加给定图标。
allInputsFilled(opt_shadowBlocksAreFilled) 以递归方式检查所有语句和值输入是否都填充了块。还会检查此堆栈中的所有以下语句块。
appendDummyInput(name) 附加一个虚拟输入行。
appendEndRowInput(name) 附加结束行的输入。
appendInput(input)

附加指定的输入行。

允许将自定义输入附加到代码块。

appendStatementInput(name) 附加语句输入行。
appendValueInput(name) 附加一个值输入行。
bumpNeighbours() 触碰未连接的块,使其不对齐。两个实际未连接的方块在屏幕上不应恰好对齐。
dispose(healStack) 处理这个块。
disposeInternal() protected 丢弃此块,而不执行顶部块所需的操作。例如,不触发事件、拔下代码块等。
doInit_() protected 调用 init() 函数,并处理关联的事件触发等。
getChildren(ordered) 查找直接嵌套在此代码块中的所有代码块。包括价值和语句输入,以及任何后续语句。不包括输出标签页或任何前面的语句中的任何连接。块可以选择按位置从上到下排序。
getColour() 获取砌块的颜色。
getCommentText() 返回此块的注释(如果没有注释,则返回 null)。
getDescendants(ordered) 查找直接或间接嵌套在此代码块内部的所有代码块。在列表中包含此屏蔽设置。包括价值和语句输入,以及以下任何语句。不包括“输出”标签页或任何前面的语句中的任何连接。块可以选择按位置从上到下排序。
getDisabledReasons() 获取该屏蔽当前已被停用的一系列原因(如果有)。如果屏蔽已启用,则此集合将为空。
getField(name) 返回块中的已命名字段。
getFieldValue(name) 返回指定字段的语言中性值。
getHue() 获取块的 HSV 色调值。如果未设置色调,则为 null。
getIcon(type)
getIcons()
getInheritedDisabled() 获取屏蔽设置是因父级停用还是停用。系统不会考虑该块本身的已停用属性。
getInput(name) 获取已命名的输入对象。
getInputsInline() 获取值输入是水平排列还是垂直排列。
getInputTargetBlock(name) 获取附加到指定输入的块。
getInputWithBlock(block) 返回连接到指定块的输入。
getNextBlock() 返回直接连接到此代码块的下一个语句代码块。
getOutputShape() 获取块的输出形状。
getParent() 返回父代码块,如果此代码块位于顶级,则返回 null。父块是连接到上一个连接的块(对于语句块)或连接到输出连接的块(对于值块)。
getPreviousBlock() 返回连接到上一个连接的块。
getRelativeToSurfaceXY() 返回相应图块左上角相对于绘图表面原点 (0,0) 的坐标,以工作区单位为单位。
getRootBlock() 返回此代码块树中最顶层的代码块。如果此代码块位于顶级,它将自行返回。
getStyleName() 获取块样式的名称。
getSurroundParent() Return the parent block that surrounds the current block, or null if this block has no surrounding block. 父代码块可能只是前面的语句,而周围的代码块却是 if 语句、while 循环等。
getTooltip() 返回此块的提示文本。
getVars() 返回此代码块引用的所有变量。
hasDisabledReason(reason) 获取屏蔽当前是否因提供的原因而被停用。
hasIcon(type)
initModel() 对块上的所有字段调用 initModel。可以多次调用。必须在创建块之后、首次与之交互之前调用 initModel 或 initSvg。交互包括界面操作(例如点击和拖动)和触发事件(例如创建、删除和更改)。
isCollapsed() 获取相应砌块是否收起。
isDeletable() 获取此块是否可删除。
isDisposed() 返回此块是否已处置 / 删除。
isDuplicatable() 获取块是否可复制。如果复制此块及其后代会使此块超出工作区的容量,则此块是不可复制的。如果复制此块及其后代会将任何类型置于其 maxInstance 上,则此块是不可复制的。
isEnabled() 获取此屏蔽设置是否已启用。如果没有任何原因导致某个屏蔽设置被停用,系统便会将其视为已启用。即使用户尝试手动启用某个屏蔽设置,该功能仍然可能由于其他原因而遭到停用(例如该屏蔽设置位于无效位置时)。
isInsertionMarker() 获取此块是否为插入标记块。
isOwnDeletable() 返回此块自己的可删除属性是 true 还是 false。
isOwnEditable() 返回此块自己的可修改属性是 true 还是 false。
isShadow() 获取此块是否为影子块。
jsonInit(json) 使用支持国际化的跨平台 JSON 说明初始化此块。
mixin(mixinObj, opt_disableCheck) 将 mixinObj 中的键值对添加到此块对象。默认情况下,此方法将检查 mixinObj 中的键是否不会覆盖块中的现有值,包括原型值。这为 Mixin / Extension 与未来屏蔽功能不兼容提供了一定程度的保险。通过传递 true 作为第二个参数,可以停用此检查。
moveBy(dx, dy, reason) 按相对偏移量移动块。
moveInputBefore(name, refName) 将已命名的输入内容移至此块上的其他位置。
moveNumberedInputBefore(inputIndex, refIndex) 将带编号的输入内容移至此方块上的其他位置。
removeIcon(type) 从块中删除 getType 与指定类型 iconType 匹配的图标。
removeInput(name, opt_quiet) 从此代码块中移除输入。
renameVarById(oldId, newId) 表示变量正在重命名的通知。如果 ID 与此块的其中一个变量匹配,则重命名。
setCollapsed(collapsed) 设置该屏蔽设置是否收起。
setColour(colour) 更改块的颜色。
setCommentText(text) 设置此块的备注文本。
setDeletable(deletable) 设置此块是否可删除。
setDisabledReason(disabled, reason) 添加或移除相关屏蔽设置可能被停用的原因。如果某个屏蔽设置因任何原因被停用,则该屏蔽设置本身将被视为已停用。一个屏蔽设置可能会由于多个独立的原因同时被停用,例如当用户手动停用它或该屏蔽设置无效时。
setEditable(editable) 设置此组成要素是否可修改。
setEnabled(enabled)
setFieldValue(newValue, name) 设置此块的指定字段的值。
setHelpUrl(url) 设置此块的帮助页面的网址。
setInputsInline(newBoolean) 设置值输入是水平排列还是垂直排列。
setMovable(movable) 设置此砌块是否可移动。
setMutator(_mutator) 为该代码块提供一个赋值函数对话框。
setNextStatement(newBoolean, opt_check) 设置是否可以将另一个代码块链接到此代码块底部。
setOnChange(onchangeFn) 设置要在代码块的父工作区发生更改时使用的回调函数,以替换之前的所有 onchange 处理程序。通常只能通过构造函数、块类型初始化程序函数或扩展初始化程序函数进行调用。
setOutput(newBoolean, opt_check) 设置此代码块是否返回一个值。
setOutputShape(outputShape) 设置块的输出形状。
setPreviousStatement(newBoolean, opt_check) 设置此代码块是否可以链接至另一个代码块的底部。
setStyle(blockStyleName) 设置块的样式和颜色值。
setTooltip(newTip) 设置此块的提示。
setWarningText(_text, _opt_id) 设置此块的警告文字。
toDevString()

此方法返回以开发者术语(类型名称和 ID;仅限英语)描述该块的字符串。

适用于控制台日志和错误。如果您需要使用用户母语的字符串(包括块文本、字段值和子块),请使用 [toString()]

toString(opt_maxLength, opt_emptyToken) 创建此块及其子项的人类可读文本表示形式。
unplug(opt_healStack) 将这个木块从上层木块上拔下。如果此代码块是一个语句,可以选择将下面的代码块与顶部的代码块重新连接。