У меня есть простая модель, которую я хочу привязать к sap.m.ComboBox.Данные выглядят так:
(2) ["Tabelle1", "Tabelle2"]
0: "Tabelle1"
1: "Tabelle2"
Что я делаю, это:
... some unimportant stuff before...
var sheets = new sap.ui.model.json.JSONModel(sheetNames);
var comboBox = that.getView().byId("selectSheet");
comboBox.setModel(sheets);
var oItemTemplate = new sap.ui.core.Item();
comboBox.bindItems("/sheets", oItemTemplate)
ComboBox создается в моем представлении XML:
<m:ComboBox id="selectSheet" items="{path: '/sheets'}" change="onSheetSelected">
<core:Item />
</m:ComboBox>
После установкиМодель или привязка элементов ничего не происходит .. Я чувствую, что это некое простое кодирование, которое я делаю здесь неправильно.Пожалуйста, посоветуйте мне, как это сделать.ComboBox должен иметь два простых варианта: «Tabelle1» и «Tabelle2».
Обновление с предлагаемым решением
var sheetNames = JSON.parse(JSON.stringify(wb.SheetNames));
var mappedNames = _.map(sheetNames, name => { return {Name: name}});
var sheets = new sap.ui.model.json.JSONModel(mappedNames);
var comboBox = that.getView().byId("selectSheet");
var oItemTemplate = new sap.ui.core.Item({
text : '{Name}'
});
comboBox.setModel(sheets);
comboBox.bindItems("/mappedNames", oItemTemplate)
Отображенные имена теперь выглядят так:
(2) 0: {Name: "Tabelle1"} 1: {Name: "Tabelle2"} length: 2