Google App Maker无法重新识别其自己的某些小部件

时间:2019-08-02 11:06:16

标签: google-app-maker

在Google App Maker中,页面上有几个小部件。 这些小部件之一称为Label12(如屏幕截图1所示)。 它确实存在,并且也显示在屏幕顶部的痕迹中。

但是,当我尝试在代码中引用Label12时,似乎不存在。

如果我使用ctrl +空格代码完成帮助器,则Label12小部件不会显示为选项(如屏幕截图2所示)。

当我尝试手动编码时(例如app.pages.Reconciliation_Details.descendants.Label12.visible),它返回错误“无法设置未定义的属性'visible'。

为什么App Maker无法看到Label12

第1页上显示Label12的屏幕截图: Screenshot 1 showing Label12

截屏2显示了在编码时缺少Label12Screenshot 2 showing absence of 'Label12' when coding

1 个答案:

答案 0 :(得分:2)

App Maker可以看到 Label12 。关键是标签位于表格小部件内,因此根据documentation

  

由于表是其他小部件的集合,因此不能使用Widget API与表进行交互。但是,您可以使用脚本来操纵组成表格的各个小部件。

上面的语句很有意义,因为表将显示的行数取决于数据源项;也就是说,当将小部件数据源加载到ui中时,会动态创建行。因此,要访问标签,您需要首先访问 Table1Body 的子代,该子集是名为PropertyMap的命名值的集合。

我相信您正在尝试根据某些逻辑隐藏/显示该特定标签。正确的方法是这样的:

var rows = app.pages.Reconciliation_Details.descendants.Table1Body.children._values;
for(var i=0; i<rows.length; i++){
    var row = rows[i];
    var label = row.descendants.Label12;
    label.visible = true; // or false
}