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