我正在使用UI5 sap.m.Menu
并像这样添加一个项目,
var menu = new sap.m.Menu();
var deleteItem = new sap.m.MenuItem({
icon :"sap-icon://delete",
text : "Delete",
key : key,
press: this._onClick.bind(this)
});
但在这里,我没有向itemSelect
的{{1}}事件添加任何监听器,而是在sap.m.Menu
使用press
事件。但是这个sap.m.MenuItem
事件没有触发。
答案 0 :(得分:2)
显然,新闻发布会并不真正奏效。查看the code of the MenuItem(以及其他相关类),它似乎永远不会被解雇。我在GitHub上为UI5人员打开了一个问题:https://github.com/SAP/openui5/issues/1505。
正如您所说,您可以使用菜单的itemSelected
事件(直到press
事件被修复):
var deleteItem = new sap.m.MenuItem({
icon :"sap-icon://delete",
text : "Delete",
key : "delete"
});
var menu = new sap.m.Menu({
items: [deleteItem],
itemSelected: function(oE) {
window.alert("Selected: " + oE.getParameter("item").getKey());
}
});
工作JsFiddle:https://jsfiddle.net/93mx0yvt/52/。
答案 1 :(得分:0)
你必须使用sap.m.Menu吗? OpenUI5中还有另一种菜单: sap.ui.unified.Menu
也许你可以使用它,直到sap.m.Menu中的错误得到修复