gpt4 book ai didi

javascript - 如何在 sapui5 MultiComboBox 中设置选定的项目?

转载 作者:行者123 更新时间:2023-12-03 00:33:59 24 4
gpt4 key购买 nike

我有以下 json 数据:

{  
"medios":[
{
"Medio":"Cheque",
"Key":"5"
},
{
"Medio":"Transferencia Bancaria",
"Key":"6"
}
]
}

我使用 json 模型绑定(bind)此数据:

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

进入 MultiComboBox:

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

我不知道的是,我如何将我在 MultiComboBox 中绑定(bind)的所有项目设置为选定项目,这样它们甚至可以从第一次自动显示为选定项目,任何想法如何实现这?

最佳答案

在循环中添加所选元素的新数组

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

在MultiComBox中使用bindProperty绑定(bind)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:https://jsbin.com/murural/1/edit?html,js,output

关于javascript - 如何在 sapui5 MultiComboBox 中设置选定的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53732452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com