我很困惑为什么我的 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 });
当我单击该按钮时,它会显示两个菜单项,正如预期的那样。如果它不适合您,请指定您正在运行的操作系统和版本,以及浏览器和版本...或者如果我误解了您的需求,请解释哪些行为与我所描述的不同期待。
关于javascript - MenuButton 无法打开菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50238355/