Параметры JavaScript Blockly.FieldDropdown - PullRequest
0 голосов
/ 28 апреля 2018

Я делаю проект с blockly , который является библиотекой javascript, я не могу понять, какой тип параметров имеет переменная menuGenerator Blockly.FieldDropdown функция принять. Здесь вы можете увидеть интересующий вас код:

/**
* 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)} означает

1 Ответ

0 голосов
/ 17 мая 2018

Документация содержит больше информации и примеров, включая базовую структуру раскрывающихся опций и способы создания динамического раскрывающегося меню .

.

Основная структура:

Каждое раскрывающееся меню создается со списком пунктов меню. Каждый вариант состоит из двух строк. Первый - это читаемый человеком текст дисплей. Вторая строковая константа, которая используется при сохранении вариант в XML. Это разделение позволяет настройке выпадающего меню сохраняется между языками. Например, английская версия блок может определить [['left', 'LEFT'], ['right', 'RIGHT']] в то время как немецкий версия того же блока будет определять [['links', 'LEFT'], ['rechts', 'RIGHT']].

А для динамического меню:

Вместо предоставления статического списка параметров, можно указать функция, которая возвращает список опций при вызове. Каждый раз меню открывается, функция вызывается и опции пересчитывается.

Если menuGenerator - массив, он используется; если это функция, она запускается при открытии меню. Функция не принимает никаких аргументов; возвращает список опций, структурированный как описано выше.

...