Javascript 如何在sapui5多框中设置所选项目?
我有以下json数据:Javascript 如何在sapui5多框中设置所选项目?,javascript,sapui5,Javascript,Sapui5,我有以下json数据: { "medios":[ { "Medio":"Cheque", "Key":"5" }, { "Medio":"Transferencia Bancaria", "Key":"6" } ] } 我使用json模型绑定这些数据: var oModelTest = new sap.ui.model.json.JSONModel
{
"medios":[
{
"Medio":"Cheque",
"Key":"5"
},
{
"Medio":"Transferencia Bancaria",
"Key":"6"
}
]
}
我使用json模型绑定这些数据:
var oModelTest = new sap.ui.model.json.JSONModel();
var MediosPagoPromesa = [];
var MedioObj = {
Medio: proMedioPagoCP, //a variable I fill inside a loop
Key: i.toString() //because it is inside a loop
}
MediosPagoPromesa.push(MedioObj);
oModelTest.setData({
'medios': MediosPagoPromesa
});
sap.ui.getCore().setModel(oModelTest, "Pagos");
放入多芯盒:
var test = sap.ui.getCore().getModel("Pagos");
var oMultiSelect = new sap.m.MultiComboBox({
items: {
path: "/medios",
template: new sap.ui.core.ListItem({
key: '{Key}',
text: '{Medio}'
}),
templateShareable: true
},
selectedKeys: ?, //here is my problem
});
oMultiSelect.setModel(test);
我不知道的是,我如何设置为选中的项目,我在MultimboBox中绑定的所有项目,以便它们可以自动显示为选中的,即使是第一次,你知道我如何实现吗 在循环中添加所选元素字段的新数组
var oModelTest = new sap.ui.model.json.JSONModel();
var MediosPagoPromesa = [];
var selected = [];
var MedioObj = {
Medio: proMedioPagoCP, //I variable I fill inside a loop
Key: i.toString() //because it is inside a loop
}
selected.push(i.toString); //inside the loop
MediosPagoPromesa.push(MedioObj);
oModelTest.setData({
'medios': MediosPagoPromesa,
'selected' : selected
});
sap.ui.getCore().setModel(oModelTest, "Pagos");
在Multimbox中,使用bindProperty绑定selectedKeys属性
var test = sap.ui.getCore().getModel("Pagos");
var oMultiSelect = new sap.m.MultiComboBox({
items: {
path: "/medios",
template: new sap.ui.core.ListItem({
key: '{Key}',
text: '{Medio}'
}),
templateShareable: true
},
});
oMultiSelect.bindProperty("selectedKeys", "/selected");
oMultiSelect.setModel(test);
下面是jsbin,有一个清晰的例子: