JavaScript Blockly.FieldDropdown参数
我正在做一个javascript库项目,我不知道Blockly.FieldDropdown函数的menuGenerator变量接受什么类型的参数。 在这里,您可以看到一些感兴趣的代码:JavaScript Blockly.FieldDropdown参数,javascript,parameters,blockly,Javascript,Parameters,Blockly,我正在做一个javascript库项目,我不知道Blockly.FieldDropdown函数的menuGenerator变量接受什么类型的参数。 在这里,您可以看到一些感兴趣的代码: /** * Class for an editable dropdown field. * @param {(!Array.<!Array>|!Function)} menuGenerator An array of options * for a dropdown list, or a fu
/**
* Class for an editable dropdown field.
* @param {(!Array.<!Array>|!Function)} menuGenerator An array of options
* for a dropdown list, or a function which generates these options.
* @param {Function=} opt_validator A function that is executed when a new
* option is selected, with the newly selected value as i ts sole
argument.
* If it returns a value, that value (which must be one of the options)
will
* become selected in place of the newly selected option, unless the
return
* value is null, in which case the change is aborted.
* @extends {Blockly.Field}
* @constructor
*/
Blockly.FieldDropdown = function(menuGenerator, opt_validator) {
/**
*为可编辑的下拉字段初始化。
*@param{(!Array.|!Function)}菜单生成器选项数组
*用于下拉列表或生成这些选项的函数。
*@param{Function=}opt_验证器当新的
*选项被选中,新选择的值作为唯一值
论点
*如果返回值,则返回该值(必须是选项之一)
将
*变为“选定”以代替新选定的选项,除非
返回
*值为null,在这种情况下,更改将中止。
*@extends{Blockly.Field}
*@constructor
*/
Blockly.FieldDropdown=函数(菜单生成器、opt_验证器){
我不明白@param{(!Array.|!Function)}是什么意思有更多的信息和示例,包括下拉选项的基本结构以及如何创建一个
基本结构是:
每个下拉菜单都创建有一个菜单选项列表。每个选项
由两个字符串组成。第一个字符串是要
第二个是字符串常量,在保存
选择XML。此分隔允许更改下拉菜单的设置
保存在不同语言之间。例如,英语版本的
块可以定义[['left',left'],['right',right']]
,而德语
同一块的版本将定义
[['links','LEFT'],['rechts','RIGHT']]
对于动态菜单:
您可以提供一个
函数,调用时返回选项列表。每次
菜单打开,调用该函数并显示选项
重新计算
如果menuGenerator
是一个数组,则使用它;如果它是一个函数,则在打开菜单时运行。该函数不接受任何参数;它返回一个选项列表,其结构如上所述