Это можно сделать без сохранения данных в каком-либо источнике данных. Просто сделайте следующее ...
Предположим, первое раскрывающееся меню называется primaryDropdown , а второе раскрывающееся меню называется primaryDropdown . В параметрах primaryDropdown установите следующее:
["Vanilla", "Chocolate"]
Кроме того, обязательно снимите флажок allowNull и в обработчике события onAttach укажите следующее:
widget.value = "Vanilla";
Теперь мы переходим к вторичного спада . Здесь мы сделаем привязку, поэтому поместите следующее в значение options:
getAvailableOpts(@widget.root.descendants.primaryDropdown.value)
В клиентском скрипте нам нужно убедиться, что функция существует, поэтому, пожалуйста, вставьте в любой клиентский скрипт следующее:
function getAvailableOpts(primaryValue){
var options;
switch(primaryValue){
case "Vanilla":
options =["Strawberry","Buttercream"];
break;
case "Chocolate":
options = ["Mocha","Dark Chocolate","Buttercream"];
break;
default:
options = [];
}
return options;
}
Отсюда ты хороший; Однако мы все еще можем сделать это лучше. Для этого обязательно снимите флажок с опции allowNull для condDropdown , а затем нам нужно добавить некоторую логику в обработчик событий onValueChange primaryDropdown .
widget.root.descendants.secondaryDropdown.value = widget.root.descendants.secondaryDropdown.options[0];
Ссылки:
https://developers.google.com/appmaker/ui/input-widgets#dropdown
https://developers.google.com/appmaker/ui/binding#bindings
https://developers.google.com/appmaker/scripting/client#use_scripts_in_binding_expressions