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

How to manually set a value in MultiSelect widget in AppMaker?

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

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

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

两件事:

  1. 您 follow-up 评论中的绑定 -- @datasources.Services.items -- 不适用于多选,因为它代表您的服务数据源中的整个记录​​集。 Markus 建议的绑定是什么项目只获取每个项目的名称。如果您尝试将 name 作为 human-readable 选择,但使用 id 作为您要使用的值,那么您需要这样:
widget.names = @datasources.Service.items..name;
widget.options = @datasources.Service.items..id;
  1. 多选选项属性表示值属性的可能性,值属性表示已选择的选项。它们分别被设置为一个数组。上面 1. 中的内容为您提供了正确的选项集,但不涉及值。如果您想将特定值显示为选中或不选中,则需要:
    • 从另一个数据源传入值,变成一个数组。如果您正在从另一条记录的特定字段中读取值,就会出现这种情况。因此,如果您有一个用户数据源,并且该用户有一个服务字段,您可能会像这样从用户记录中获取现有选择:@datasources.User.item.Services#strToArray();或
    • 以编程方式设置值。如果您在幕后执行其他操作以生成 pre-selected 值,就会出现这种情况。因此,如果您的服务数据源中有六个可能的选项,但只应选择其中的一些,则您的脚本将包含如下内容:widget.values = [selection1, selection5, selection6];