将项目绑定到 OpenUI5 中的 DropDownBox
Bind Items to a DropDownBox in OpenUI5
我正在尝试将包含对象的数组内的值绑定到 sap.ui.commons.DropdownBox。
我的 JSON-结构如下所示:
{
"forms": [
{
"name": "First Object"
},
{
"name": "Second Object"
}
]
}
现在我尝试像这样 bindItems 到我的 DropdownBox:
var oItemTemplate = new sap.ui.core.ListItem();
oItemTemplate.bindProperty("text", "{/name}");
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(oData);
sap.ui.getCore().setModel(oModel);
var oDropDown = new sap.ui.commons.DropdownBox("dropDownBox");
oDropDown.bindItems("/forms", oItemTemplate);
不幸的是,我 adding/binding 到下拉列表的项目是空的。
如何正确地将对象数组中的项目绑定到 DropdownBox?
JSBIN-Example
经过一个非常安静的夜晚得到了答案:)
这是工作代码片段:
var oItemTemplate = new sap.ui.core.ListItem();
oItemTemplate.bindProperty("text", "name");
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(oData);
sap.ui.getCore().setModel(oModel);
var oDropDown = new sap.ui.commons.DropdownBox("dropDownBox");
oDropDown.bindItems("/forms", oItemTemplate);
我正在尝试将包含对象的数组内的值绑定到 sap.ui.commons.DropdownBox。
我的 JSON-结构如下所示:
{
"forms": [
{
"name": "First Object"
},
{
"name": "Second Object"
}
]
}
现在我尝试像这样 bindItems 到我的 DropdownBox:
var oItemTemplate = new sap.ui.core.ListItem();
oItemTemplate.bindProperty("text", "{/name}");
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(oData);
sap.ui.getCore().setModel(oModel);
var oDropDown = new sap.ui.commons.DropdownBox("dropDownBox");
oDropDown.bindItems("/forms", oItemTemplate);
不幸的是,我 adding/binding 到下拉列表的项目是空的。
如何正确地将对象数组中的项目绑定到 DropdownBox?
JSBIN-Example
经过一个非常安静的夜晚得到了答案:)
这是工作代码片段:
var oItemTemplate = new sap.ui.core.ListItem();
oItemTemplate.bindProperty("text", "name");
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(oData);
sap.ui.getCore().setModel(oModel);
var oDropDown = new sap.ui.commons.DropdownBox("dropDownBox");
oDropDown.bindItems("/forms", oItemTemplate);