我很困惑为什么我的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});
}
}
答案 0 :(得分: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 });
当我单击按钮时,它会按预期显示两个菜单项。如果它不适合您,请指定您正在运行的操作系统和版本,以及哪个浏览器和版本......或者如果我误解了您的需求,请解释与我所描述的不同的行为期待。