问题标签 [blockly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
81 浏览

blockly - 包括 Accessible 和 Standard Blockly

我一直在查看 Accessible Blockly 文档,但在弄清楚我将如何做到这一点时遇到了一些麻烦。

我们有一个基于 React 的应用程序,它使用各种 Blockly 工作区(带有各种自定义块和字段)。我希望能够进行设置,以便我们可以在标准 Blockly 工作区和 Accessible Blockly 设置之间切换,以便为仅使用键盘的用户提供选项,但文档似乎并没有真正考虑这种案例 - 它似乎更多地由您包含的文件组合控制,并且动态加载/卸载这些文件可能......很棘手。有没有人遇到或能够配置这样的用例?

0 投票
2 回答
95 浏览

blockly - 您如何检查当前打开的工具箱选项卡?

你能知道 blockly 工具箱中当前打开了哪个选项卡吗?如果是这样,谁能给我看一个例子或代码片段?

0 投票
2 回答
300 浏览

javascript - 无法在 Bootstrap 模式中输入 Blockly 工作区

我在 Bootstrap 模式中的 Blockly 工作区有问题。

一切似乎都运行良好,但我无法输入拖入工作区的输入。

对话框如下所示:

在此处输入图像描述

我无法在等号右侧输入突出显示的块。

我之前遇到过一个问题,如果在折叠的div. 我通过添加一个在单击Step Formulas时触发的事件并执行以下代码来解决此问题:

我验证如果我将div工作区注入到主布局的 HTML 中,它工作正常。我可以打字。

有任何想法吗?

0 投票
1 回答
1343 浏览

blockly - 读取用户在块状块中输入的输入

我的 blockly.js 文件中有以下代码

我在我的 index.html 中使用它,如下所示

如何在此 js 文件的帐号块中获取用户输入的数字?

0 投票
1 回答
2133 浏览

javascript - 如何在 Blockly 中隐藏/删除字段?

如何根据下拉值更改隐藏字段。

我添加了一个名为“A”的输入字段。我有一个下拉字段。如果我在下拉列表中选择一个值,例如“删除字段 A”,则应删除输入字段。

我试过removeField。但它没有用。还有其他方法吗?或者如何正确使用remove-field?

0 投票
1 回答
97 浏览

reactjs - React 组件不会改变父级的状态

在组件BlocklyDrawer中,我试图更改code父组件的状态。我在onChange()事件中这样做,调用父组件的方法handleCodex

虽然方法handleCodex被执行,但code状态并没有改变。

0 投票
2 回答
752 浏览

javascript - 使用回调中的变量作为全局变量

我做了一个块,其中发生对指定 URL 的请求。

在此块内,我可以处理来自响应的数据,但在此块外,由于异步,我无法获取此数据。

是否可以以块或其他方式模拟同步请求,将接收到的数据保存到全局变量中?

在此处输入图像描述

创建块的代码:

0 投票
1 回答
527 浏览

javascript - 在 Blockly 上返回块

我想在表单上使用 Blockly 让用户创建自己的算法。为此,我使用了我创建的“返回”块,因此我可以使用 PHP 中的 eval 调用此算法。

这是我的块的 init :

这是 PHP 的代码生成器:

我想做的是使用一个包含整个算法的大返回块,并使这个返回块无法删除。

有人可以帮我吗?

谢谢。

0 投票
1 回答
1570 浏览

blockly - Blockly:如何获取下拉框或复选框块的值

我是 Blockly 的新手,找不到获取下拉列表或复选框的字段值的方法。

让我们考虑以下场景(使用 blockly-dev-tools 生成):

现在从值输入中获取值不是问题,您可以像这样获得 thouse:

但是托管下拉菜单或复选框的虚拟输入没有提供选定值的方法。这可能是我使用虚拟输入来承载元素的概念错误,但是当使用值输入时,你总是在右边有那些已经过时的乳头,因为这些值是由复选框或下拉菜单提供的。

0 投票
5 回答
3058 浏览

angular - 我们如何将 Blockly 导入 Angular 7 应用程序?

我正在尝试在 Angular 7 应用程序中使用 Blockly,但我无法注入 Blockly 编辑器。

我已经从https://developers.google.com/blockly/guides/get-started/web下载了这些文件,并将 blockly_compressed.js 复制到我的 src 目录中(并将其重命名为 blockly.js)。然后我尝试从我的组件访问 Blockly 并得到错误。

我试过的:

导入“../blockly.js”

不编译,给出“错误 TS2304:找不到名称‘Blockly’。”

编译,但在浏览器中打开应用程序时出现以下错误:

添加具有以下内容的 blockly.d.ts 文件:

给出与上述相同的错误。

关于我还能尝试什么的任何建议?