如何在AppMaker的MultiSelect小部件中手动设置值?

时间:2019-05-20 19:53:59

标签: google-app-maker appscript

我正在使用REST API作为数据源,并且不确定如何在MultiSelect小部件中手动设置值

窗口小部件数据源名为Service,并具有idname

我尝试过的是widget.values = [...IDs of the values...],但没有用

1 个答案:

答案 0 :(得分:1)

两件事:

  1. 后续注释(@datasources.Services.items)中的绑定不适用于多选,因为它表示服务数据源中的整个记录​​集。马库斯建议的绑定是什么项目计划仅捕获每个项目的名称。如果您尝试将name表示为易于理解的选择,但将id用作要进行处理的值,那么您将需要这样做:
widget.names = @datasources.Service.items..name;
widget.options = @datasources.Service.items..id;
  1. multiselect options属性表示values属性的可能性,而values属性表示已选择的选项。它们每个都设置为数组。上面1.中的内容为您提供了正确的选项集,但不处理值。如果要显示是否选择了特定值,则需要:
    • 从另一个数据源传入值,将其转换为数组。如果您正在从另一个记录的特定字段中读取值,则可能是这样。因此,如果您有一个User数据源,并且User有一个Services字段,则可以从User记录中获得现有的选择,如下所示:@datasources.User.item.Services#strToArray();或
    • 以编程方式设置值。如果您在幕后进行其他操作以生成预选值,则可能会出现这种情况。因此,如果您的Service数据源中有六个可能的选项,但仅应选择其中的一部分,则脚本将包含以下内容:widget.values = [selection1, selection5, selection6];