javascript - MenuButton 不会打开菜单
问题描述
我很困惑为什么我的 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 });
当我单击按钮时,它会按预期显示两个菜单项。如果它对您不起作用,请说明您正在运行的操作系统和版本,以及浏览器和版本......或者如果我误解了您的需求,请解释与我描述的不同的行为是什么期待。
推荐阅读
- python - 超参数调优与分类算法对比
- c# - 从 Entity Framework Core 获取一个调用存储过程
- sql - 如何为以下实现 scd 类型 2
- google-cloud-pubsub - Google Pub/Sub “订阅不能同时启用消息排序和配置死信策略。”
- r - 在亚马逊搜索中使用 R (rvest) 获取价格和产品
- javascript - 无法更改 iframe 正文标记内的样式属性
- android - 重复通知的 Android DST 问题。Android 对 DST 有任何未解决的问题吗?
- css - 如何在不使用 querySelector 的情况下更改 React 中元素的样式?
- codeigniter - CodeIgniter Active Records 在插入数据时不会自动转义单引号
- java - @Rule 和 PowerMockRule 的问题