google-app-maker - 从列表对象中获取选择
问题描述
我在 appmaker 中有一个表格,我添加了复选框,如下所示:
我想从用户检查的邮件中获取电子邮件列表。此时我什至无法访问单个复选框的状态。这是我尝试添加到按钮的当前代码片段:
console.log(widget.parent.parent.parent.children.Panel1.children.Table3Panel.children.Table3.children.Table3Body.children.Table3Row.children.UserSelectionCheckbox.value);
我得到错误:
Cannot read property 'children' of undefined
at Home.Panel1.OuSelectPanel1.Button6.onClick:1:133
我能够使用自动填充来编写整个语句,为什么找不到子对象?有什么方法可以直接引用此列表,而无需从小部件或应用程序根目录向下走?
解决方案
对于这种类型的功能,自动填充(智能感知)对您不起作用。当您尝试从表中获取行的集合时,您需要以不同的方式处理子项。我会为您的按钮 onClick 事件建议与此类似的代码:
var rows = widget.root.descendants.Table3Body.children._values;
var emails = [];
for (var i in rows) {
var value = rows[i].children.Checkbox1.value;
if (value) {
emails.push(rows[i].datasource.item.Email);
}
}
console.log(emails);
同样,在您选择 _values 后,自动完成代码功能将无法正常工作,这将返回您的表体的所有直接子代,这正是您想要的。
推荐阅读
- javascript - 如何将 javascript 变量插入到 Django 中的模型中?
- node.js - 用于检索 MongoDB 集合的 API 路由
- php - 多站点 - 将 ACF 值从当前站点传递到多站点上另一个站点的重力表单
- python - 使用 Selenium 时,我无法让 Chrome 默认保存为 PDF
- javascript - nodejs - 如何比较bcrypt的两个哈希密码
- node.js - 如何用 sinon 存根对象方法?
- python - 安装 Python + C++ 项目时设置编译标志
- python - 如何在 Django 的 urls.py 文件中发现语法错误?
- metal - Metal核函数是原子的吗?
- python - 如何从熊猫数据框中获取同一行(上一列)的前一个值?