将值绑定到列表小部件中的多个标签;使用动态页面属性

Binding values to multiple labels in a List Widget; Using Dynamic Page Properties

背景:

我有一个 JSON 对象,我想使用动态页面 属性 将它的值绑定到列表小部件。我正在尝试将动态页面属性 "value" 设置为 JSON 对象,但是我不确定如何访问 JSON 的审批者元素。

设置页面属性"Value"

据我了解,动态页面 属性 应该能够接受 JSON 对象。在下面的示例中,我就是这样做的。

var jsonObject = {
    "Approvers": [{
        "Approver_Name": "John Doe",
        "Approver_Email": "jdoe@email.com,",
        "Approver_Status": "Pending"
    }, {
        "Approver_Name": "Jane Doe",
        "Approver_Email": "jdoe2@email.com,",
        "Approver_Status": "Pending"
    }]
}
    app.pages.editSubmission.properties.Approver_Details = jsonObject;

正在访问页面中的值 属性

我已阅读有关属性和绑定的文档。 https://developers.google.com/appmaker/properties。我尝试了将列表小部件的数据源绑定为动态页面的标准方法 属性。 (我仍然不确定如何访问 Approvers 的元素。)

遗憾的是,该文档未涵盖动态属性。 (或者我错过了。)如果有人能给我指点一些文档或另一个涵盖这个主题的堆栈溢出post,那将是非常合适的。

A List Widget 期望其数据源是项目数组,但您提供的是 json 对象;因此它不起作用。不要使用 dynamic property,而是使用 <List>String 属性。这样你就可以做这样的事情:

var jsonObject = {
    "Approvers": [{
        "Approver_Name": "John Doe",
        "Approver_Email": "jdoe@email.com",
        "Approver_Status": "Pending"
    }, {
        "Approver_Name": "Jane Doe",
        "Approver_Email": "jdoe2@email.com",
        "Approver_Status": "Pending"
    }]
}
app.pages.editSubmission.properties.Approver_Details = jsonObject.Approvers;

然后,在将值绑定到列表时,您可以在列表行内使用三个不同的标签,每个标签都必须绑定到相应的值:

@datasource.item["Approver_Name"]
@datasource.item["Approver_Email"]
@datasource.item["Approver_Status"]