【发布时间】:2020-09-10 23:36:22
【问题描述】:
背景
Google 应用制作工具有一个多选小部件,允许用户从列表中选择多个选项。
当前状态
默认情况下,所有选项都未选中,用户必须手动选择所有需要的选项。
理想状态
我想以编程方式选择所有选项,以便用户可以手动取消选择所有不需要的选项。
我的尝试
应用制作者文档:
Multi Select Widget documentation 提供有关如何绑定选项和值的信息,但不提供用于预先选择这些选项的选项。
Javascript onAttach 事件和 onDataLoad 事件:
我尝试运行 Javascript 以编程方式选择选项,但我认为这是我要撤消的地方。
我的多选小部件中的选项绑定到@datasources.Suppliers.items..Supplier_Name,并且所有选项都正确显示在小部件中。
我可以成功地硬编码以编程方式选择的选项,例如:
var optionsToBeProgramaticallySelected = ["Option1", "Option2", "Option3"];
widget.values = optionsToBeProgramaticallySelected;
...但是,我不想对要选择的值进行硬编码,因为这些值会随着时间而改变。因此,我尝试以编程方式创建一个包含所有选项的数组,并使用 that 作为以编程方式选择的选项列表。但是,我无法成功返回数组以供使用。我曾经尝试过的代码是:
var listOfAllPossibleOptions = app.datasources.Suppliers.items.concat();
widget.values = listOfAllPossibleOptions;
问题
如何使我的多选小部件选择所有选项?
【问题讨论】:
-
var listOfAllPossibleOptions = app.datasources.Suppliers.items.concat();似乎它正在创建数组的字符串连接。如果您只使用 var listOfAllPossibleOptions = app.datasources.Suppliers.items 会发生什么?或者交替地制作那个串联列表,然后 .split() 它。
标签: javascript google-app-maker