在Google App Maker中,页面上有几个小部件。
这些小部件之一称为Label12
(如屏幕截图1所示)。
它确实存在,并且也显示在屏幕顶部的痕迹中。
但是,当我尝试在代码中引用Label12
时,似乎不存在。
如果我使用ctrl +空格代码完成帮助器,则Label12
小部件不会显示为选项(如屏幕截图2所示)。
当我尝试手动编码时(例如app.pages.Reconciliation_Details.descendants.Label12.visible
),它返回错误“无法设置未定义的属性'visible'。
为什么App Maker无法看到Label12 ?
答案 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
}