我想在对话框中使用MultiComboBox从一组项目中进行多项选择。 我从这个例子开始:https://openui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.MultiComboBox/preview
我的问题是,当我第二次打开对话框时,我不知道如何删除上一个选择的选定键...
我试过了:
但旧的选择仍然是
答案 0 :(得分:0)
如果您想在用户打开选择选项弹出窗口时清除以前选择的项目,则以下代码有效:
var oMulti = new sap.m.MultiComboBox({
id: "multi",
items: [
new sap.ui.core.Item({text: "item 1", key:"item1"}),
new sap.ui.core.Item({text: "item 2", key:"item2"}),
new sap.ui.core.Item({text: "item 3", key:"item3"}),
new sap.ui.core.Item({text: "item 4", key:"item4"}),
new sap.ui.core.Item({text: "item 5", key:"item5"}),
]
});
oMulti.onAfterRenderingPicker = function(){
if (sap.m.MultiComboBox.prototype.onAfterRenderingPicker) {
sap.m.MultiComboBox.prototype.onAfterRenderingPicker.apply(this);
}
oMulti.clearSelection();
};
这是一个有效的JSBin。
如果有人可以建议更清洁或更简单的解决方案,我也很乐意学习它。
答案 1 :(得分:-1)
我的解决方案是destroy
对话框片段并且每次都重新创建它:
if (myDialog !== undefined)
myDialog .destroy();
myDialog = sap.ui.xmlfragment("view.fragment.myDialog", this);