UserPicker更改未注册

时间:2017-09-18 08:51:01

标签: google-app-maker

我必须编辑同一数据源的两个对象。我正在使用UserPicker小部件来更改附加到对象的人(只接收电子邮件)。

一开始我有:

  • ObjectA {owner:owner1@sample.com}
  • ObjectB {owner:owner1@sample.com}

在此之后,我想将ObjectA的所有者更改为Owner2。这很好。

然后,使用相同的编辑小部件(使用不同的数据源项),我也想将ObjectB的所有者更改为Owner2。但是,这不起作用,因为UserPicker小部件没有注册来自Owner1的更改 - > Owner2。发生这种情况是因为UserPicker已经从我做的第一个更改中存储了值Owner2(所以对应用程序似乎我正在进行更改Owner2 - > Owner2 .. onChange未触发,数据源未保存)。

我已尝试更改附加的小部件值,但我还没有让它工作。这也应该在AppMaker方面修复吗?

感谢您的帮助,如果您不理解,请提出澄清问题。

1 个答案:

答案 0 :(得分:0)

好的,以防万一其他人遇到这个问题,而修复bug仍在工作中(虽然我报告了这个bug)。这就是我处理它的方式:

UserPicker小部件onDetach:

if(widget.datasource.item.OwnerEmail !== widget.value) {
  widget.datasource.item.OwnerEmail = widget.value;
}

这可确保在分离窗口小部件时将值更改保存到记录中。

但是,此解决方案缺少自动验证(默认情况下在UserPicker小部件中完成)。因此,您可能需要确保输入的值实际上是一封电子邮件,在此解决方案中无法保证。

可能有更好的方法可以做到这一点,但这只是我提出的一个快速解决方法。