我有一个JSON对象,我想使用动态页面属性将其值绑定到列表小部件。我试图将动态页面属性“值”设置为JSON对象,但是我不确定如何访问JSON的批准者元素。
据我了解,动态页面属性应该能够接受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。我尝试了将List Widget的数据源绑定为Dynamic Page Property的标准方法。 (我仍然不确定如何访问批准者的元素。)
不幸的是,文档没有涵盖动态属性。 (或者我错过了。)如果有人可以指出我一些文档或涉及该主题的另一个堆栈溢出帖子,那将是非常合适的。
答案 0 :(得分:1)
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"]