blockly > 屏蔽

屏蔽类

一个分块的类。通常不会直接调用,建议使用 workspace.newBlock()。

Signature:

export declare class Block 

构造函数

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

属性

属性 修饰符 类型 说明
childBlocks_ protected this[]
collapsed_ protected 布尔值
COLLAPSED_FIELD_NAME

static

readonly

字符串 为收起的字段指定的语言中性 ID。
COLLAPSED_INPUT_NAME

static

readonly

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

返回一个生成器,用于提供该分块上的每个字段。

可用于迭代块中字段的生成器。

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() 返回当前代码块的父代码块;如果此代码块没有父代码块,则返回 null。父块可能只是上一个语句,而周围的块是 if 语句、while 循环等。
getTooltip() 返回此块的提示文字。
getVars() 返回此代码块引用的所有变量。
hasDisabledReason(reason) 获取屏蔽功能目前是否因所提供的原因而处于停用状态。
hasIcon(type)
initModel() 对该分块上的所有字段调用 initModel。可以多次调用。必须在创建块后且在首次与其互动之前调用 initModel 或 initSvg。互动包括界面操作(例如点击和拖动)和触发事件(例如创建、删除和更改)。
isCollapsed() 获取块是否已收起。
isDeletable() 获取此分块是否可删除。
isDisposed() 返回此分块是否已被处置 / 删除。
isDuplicatable() 获取是否可以复制某个分块。如果复制此分块及其子分块会使此分块超出工作区的容量,则无法复制此分块。如果复制此分块及其子项会导致任何类型的 maxInstances 超出上限,则此分块不可复制。
isEnabled() 获取此屏蔽功能是否已启用。如果没有任何停用原因,相应屏蔽程序就会被视为处于启用状态。即使用户尝试手动启用屏蔽功能,屏蔽功能可能仍会出于其他原因而处于停用状态,例如屏蔽功能位于无效位置时。
isInsertionMarker() 获取此块是否为插入标记块。
isOwnDeletable() 返回此分块自己的可删除属性是 true 还是 false。
isOwnEditable() 返回此分块自己的可编辑属性是 true 还是 false。
isShadow() 获取此分块是否为阴影分块。
jsonInit(json) 使用支持跨平台和国际化的 JSON 说明初始化此块。
mixin(mixinObj, opt_disableCheck) 将 mixinObj 中的键值对添加到此块对象。默认情况下,此方法会检查 mixinObj 中的键不会覆盖代码块中的现有值,包括原型值。这在一定程度上可防止混入 / 扩展与未来的块功能不兼容。您可以通过将 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) 设置此块是否可编辑。
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) 将此块从其上级块中拔下。如果此代码块是语句,可以选择将下方的代码块与顶部的代码块重新连接。