菜单按钮无法打开菜单



我很困惑为什么我的qx.ui.form.MenuButton无法打开我正在应用的菜单。谁能告诉我我一定犯了什么愚蠢的错误?

qx.Class.define("app.ui.files.FilesListPanel", {
extend: qx.ui.container.Composite,
construct: function() {
this.base(arguments);
this.setWidth(350);
var datasetsMenu = new qx.ui.menu.Menu();
datasetsMenu.add(new qx.ui.menu.Button("Test 1"));
datasetsMenu.add(new qx.ui.menu.Button("Test 2"));
var datasetsMenuButton = new qx.ui.form.MenuButton("Select dataset", null, datasetsMenu);
this._list = new qx.ui.form.List();
this.setLayout(new qx.ui.layout.VBox());
this.add(datasetsMenuButton);
this.add(this._list, {flex: 1});
}
}

这似乎在 Linux 上的 Chrome 66 中按预期工作。请将以下代码粘贴到 http://playground.qooxdoo.org 处的默认示例的位置:

qx.Class.define("app.ui.files.FilesListPanel", {
extend: qx.ui.container.Composite,
construct: function() {
this.base(arguments);
this.setWidth(350);
var datasetsMenu = new qx.ui.menu.Menu();
datasetsMenu.add(new qx.ui.menu.Button("Test 1"));
datasetsMenu.add(new qx.ui.menu.Button("Test 2"));
var datasetsMenuButton = new qx.ui.form.MenuButton("Select dataset", null, datasetsMenu);
this._list = new qx.ui.form.List();
this.setLayout(new qx.ui.layout.VBox());
this.add(datasetsMenuButton);
this.add(this._list, {flex: 1});
}
});
var flp = new app.ui.files.FilesListPanel();
this.getRoot().add(flp, { edge : 10 });

当我单击该按钮时,它显示两个菜单项,正如预期的那样。如果它不适合您,请指定您正在运行的操作系统和版本,以及哪个浏览器和版本...或者如果我误解了您的需求,请解释您的行为与我所描述的有所不同。

最新更新