首页 > 解决方案 > 如何在google app-maker的下拉列表中获取所选项目的记录ID

问题描述

概括

在下拉列表或单选按钮 UI 中获取所选项目的记录 ID 似乎是一个常见问题,但尽管搜索了几个月,但我仍未找到 Google AppMaker 的答案。

示例用例:我希望编辑属于某个系列的产品:

产品 - (N:1) --> 系列

产品 - (M:N) --> FeatureValues

例子

该产品属于家庭信用卡

信用卡系列具有以下特点: |联系人 |近场 |费率 |芯片和密码|

在编辑表单中,如果我更改产品所属的系列,则功能列表将更改,并且需要输入新的功能值。(动态形式

层次表

系列、特征和允许值保存在一个层次结构表中:

家庭 | 特点 | 价值观

newValue._key 似乎仅适用于文本框 UI 项。

下拉列表:

widget.datasource.item.Id 或 _key 提供了父数据源的 Product ID,ProductById(因为我正在编辑单个产品)

widget.datasource.selectKey(newValue._key); 返回未定义

示例代码

下拉列表 OnValueChange 事件:

//根据选择的分类家族更新特征下拉列表 app.datasources.TaxonomyChildren.query.parameters.parent_fk = app.datasources.TaxonomyFamilies.item.Id;

app.datasources.TaxonomyChildren.load();

如果我可以在下拉列表中选择所选系列的记录 ID,我可以设置一个 query.filter.parameter 来显示新选择的系列的特征和值。

注意:如果您无法在 Google 应用程序制造商中创建“动态”表单,那么我将停止,因为这已经耗尽了很多时间。

编辑显示家庭特征的产品页面

标签: dropdowngoogle-app-makerdynamic-forms

解决方案


Markus 写道: 所以保留选项和值设置,但在 onValueEdit 中,通过将newValue.id传递给查询,对 TaxonomyChildren 运行您的查询

伟大的马库斯,这行得通。在下拉 ValueEdit 事件中,我调用函数 loadTaxonomyChildById(newValue.Id); 将所选分类家族的 ID 传递给它,从而更改显示的特征。


推荐阅读