Я пытаюсь выяснить, возможно ли обновить только значения раскрывающегося списка для контроллера dat.gui.
var gui = new dat.GUI();
gui.add(this, 'toggle').onChange( updateToggle );
gui.add(item, 'template', [ 'A', 'B', 'C', 'D' ]).onChange( updateTemplate );
Когда переключатель изменен, я хочу изменить параметры шаблона:
if (startRibbon) {
gui.__controllers[1].options(['A', 'B']);
} else {
gui.__controllers[1].options(['A', 'B', 'C', 'D']);
};
Это изменяет значения, но создает новый контроллер шаблона с новым индексом (удаляя предыдущий) и делая его неработоспособным в следующий раз. Он также помещает новый в конец списка контроллеров.
Прежде чем я добавлю больше кода, чтобы попытаться преследовать новый модифицированный/новый контроллер, я подумал, что должен посмотреть, есть ли у кого-нибудь лучший способ.