Blockly 有文件选择器吗?
Does Blockly have a file selector?
我希望使用 Blockly 来允许非技术人员用户指定测试脚本。
它的一部分需要一个文件选择器,但是,我看不到 Blockly 有一个。是吗?
实际上,我找不到标准块的完整列表。有人有 URL 吗?
如果没有标准的 Blockly 文件选择器,(如何)我可以访问 Windows 文件选择器? (一般情况下,我如何执行 DOS 命令?)
据我所知,我认为您无法从 Blockly
获得文件选择器,但也许这个 post is useful for you in which a man creates a custom Block
可以用于此目的。
此外,我找不到仅包含所有标准块名称的列表,但我在 playground
of Blockly
you can see all the standard blocks that Google provides to you. If you want to see the code of all of them you can see it on Blockly GitHub.
上看到了
我想如果 Blockly
没有文件选择器,它也不会访问 Windows File Selector
但也许你可以通过 [= 为此目的创建一个 custom Block
17=](我不知道你用的是什么编程语言)。 This link 可以帮助 Javascript Windows File Selector
。
希望对你有用!
您可以在块状输入上重写 showEditor_ 函数 - 这对 FieldTextInput 非常有效。有关 'intercepted' 单击打开 jquery 移动对话框,然后填充文本值的示例,请参阅 https://youtu.be/eYHo0VeSLCI。然后 javascript 生成器检索文本值以在 'runtime'.
加载所选文件
我在下面粘贴了一些简化的代码:
显示标准文本输入
let fileInput = new Blockly.FieldTextInput('** CHOOSE A FILE **')
然后您可以附加一个点击处理程序来显示您的文件选择器 - 因此标准浏览器文件选择器可能会...
fileInput.showEditor_=(()=>alert("Intercepted"))
您需要将提醒替换为您的文件选择器代码。您的代码还需要设置文本输入的值 - 像这样:
let block = Blockly.mainWorkspace.getBlockById(block_id)
block.setFieldValue(filename, widget_id)
其中 widget_id 标识文本输入,block_id 实际包含块。
我希望使用 Blockly 来允许非技术人员用户指定测试脚本。
它的一部分需要一个文件选择器,但是,我看不到 Blockly 有一个。是吗?
实际上,我找不到标准块的完整列表。有人有 URL 吗?
如果没有标准的 Blockly 文件选择器,(如何)我可以访问 Windows 文件选择器? (一般情况下,我如何执行 DOS 命令?)
据我所知,我认为您无法从 Blockly
获得文件选择器,但也许这个 post is useful for you in which a man creates a custom Block
可以用于此目的。
此外,我找不到仅包含所有标准块名称的列表,但我在 playground
of Blockly
you can see all the standard blocks that Google provides to you. If you want to see the code of all of them you can see it on Blockly GitHub.
我想如果 Blockly
没有文件选择器,它也不会访问 Windows File Selector
但也许你可以通过 [= 为此目的创建一个 custom Block
17=](我不知道你用的是什么编程语言)。 This link 可以帮助 Javascript Windows File Selector
。
希望对你有用!
您可以在块状输入上重写 showEditor_ 函数 - 这对 FieldTextInput 非常有效。有关 'intercepted' 单击打开 jquery 移动对话框,然后填充文本值的示例,请参阅 https://youtu.be/eYHo0VeSLCI。然后 javascript 生成器检索文本值以在 'runtime'.
加载所选文件我在下面粘贴了一些简化的代码:
显示标准文本输入
let fileInput = new Blockly.FieldTextInput('** CHOOSE A FILE **')
然后您可以附加一个点击处理程序来显示您的文件选择器 - 因此标准浏览器文件选择器可能会...
fileInput.showEditor_=(()=>alert("Intercepted"))
您需要将提醒替换为您的文件选择器代码。您的代码还需要设置文本输入的值 - 像这样:
let block = Blockly.mainWorkspace.getBlockById(block_id)
block.setFieldValue(filename, widget_id)
其中 widget_id 标识文本输入,block_id 实际包含块。