将项绑定到OpenUI5中的DropDownBox

时间:2015-05-07 14:22:43

标签: javascript data-binding sapui5

我正在尝试将带有对象的数组内的值绑定到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);

不幸的是,我添加/绑定到Dropdown的Items是空的。

如何将对象数组中的项正确绑定到DropdownBox? JSBIN-Example

1 个答案:

答案 0 :(得分:0)

在一个非常安静的夜晚后得到答案:)

这是工作代码段:

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);

JSBIN-Example