sap.m.MenuItem按下事件未触发

时间:2017-05-26 13:11:54

标签: javascript jquery menu sapui5

我正在使用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事件没有触发。

2 个答案:

答案 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中的错误得到修复