dropdown - 如何在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 应用程序制造商中创建“动态”表单,那么我将停止,因为这已经耗尽了很多时间。
解决方案
Markus 写道: 所以保留选项和值设置,但在 onValueEdit 中,通过将newValue.id传递给查询,对 TaxonomyChildren 运行您的查询
伟大的马库斯,这行得通。在下拉 ValueEdit 事件中,我调用函数 loadTaxonomyChildById(newValue.Id); 将所选分类家族的 ID 传递给它,从而更改显示的特征。
推荐阅读
- python - 尝试使用朴素贝叶斯进行预测时出现尺寸不匹配错误
- flow-project - 运行“python示例/simulate.py ring”时出错
- json - 在 Swift 中使用 Codable 进行解析
- python - 使用 python 和 AudioSegment 进行实时音频处理
- android - 房间不使用 @Update(onConflict = OnConflictStrategy.REPLACE) 更新实体
- vue.js - 如何在 Vuejs 中创建带有可拖动项目的嵌套列表?
- powershell - 向脚本添加 -WhatIf 或“仅记录”功能?
- delphi - 如何用信号通知 Indy TCPServer 连接线程终止?
- python - 传递非默认依赖项时,如何强制重新计算函数参数中的依赖参数值?
- haskell - 为什么 Haskell 不能优化这个重复的函数调用?