首页 > 解决方案 > 根据“一个关系结束”从下拉小部件中捕获当前值

问题描述

[谷歌应用程序制造商]

AppMaker 新手,以前从未编写过代码,所以如果问题显而易见,或者我正在尝试做不可能的事情,请原谅这个问题。

应用程序制造商 -

我有一个页面,

页面上是一个“创建”项目表单,然后在同一页面上的另一个面板上,是从“一个关系端”生成的另一个模型的下拉列表,并使用与我正在更新的模型无关的数据源或模型。

像我一样,我的代码非常简单(作为学习)我只是试图更新模型中的一个字段,表单正在使用当前下拉值创建一个新项目,该值来自不同的数据源并基于“一个关系端”从另外两个表。

Table:

Id | date |  action  | user | note | theValue |
             'did it'                    X

我已经在表单上的“提交按钮”中应用了代码,以保持它非常基本。

widget.datasource.item.action = 'did it'; // Works fine
widget.datasource.item.theValue = 
widget.root.descendants.Sites_dropdown.value;  // this fails ( error below )
widget.datasource.createItem();

但我收到以下错误。

错误 -

Type mismatch: Cannot set type sites record for property newValue. Type String is expected.
at assets_move.Content.Form1.Form1Footer.Form1SubmitButton.onClick:2:33

我可以看到错误,它没有作为字符串传递,不确定这是否是因为它的下拉菜单在另一个面板上具有不同的数据源,或者我使用错误的绑定来获取值。

非常感谢任何帮助。

标签: google-app-maker

解决方案


问题可能是您在 Sites_dropdown 小部件的属性编辑器中拥有的值绑定不是字符串,请确保它是字符串绑定并且它应该可以工作。此外,通过绑定,您将不再需要它:

widget.datasource.item.theValue = widget.root.descendants.Sites_dropdown.value;

由于绑定将为您处理。

您还可以将小部件的 Options 属性设置为记录,因此该值也是记录。确保 options 也是一个字符串而不是记录。


推荐阅读