MenuButton不会打开菜单

时间:2018-05-08 16:31:43

标签: javascript qooxdoo

我很困惑为什么我的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});
    }
}

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 });

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