Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MenuButton赢得';t打开菜单_Javascript_Qooxdoo - Fatal编程技术网

Javascript MenuButton赢得';t打开菜单

Javascript MenuButton赢得';t打开菜单,javascript,qooxdoo,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 d

我很困惑为什么我的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中,这似乎在操场上按预期工作。请在以下位置粘贴以下代码以代替默认示例:


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

Ya,我看到它在操场上工作,正如我所期望的——当我按下“选择数据集”菜单按钮时,我会看到一个包含两个项目的下拉列表(“测试1”和“测试2”)。但是,在我自己的应用程序上下文中,按钮根本不显示这两项。我建议将应用程序剥离到包含filelistpanel但存在问题的最低限度。如果你能拿出一个游乐场的例子来说明这个问题,我们应该能够帮助你。
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 });