You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vaadin 24:如何阻止点击MenuBar菜单项时菜单栏关闭

Vaadin 24 MenuBar点击菜单项不关闭的实现方案

要让MenuBar的下拉菜单项点击后保持展开状态(不关闭),只需在菜单项的点击事件处理逻辑中调用event.preventDefault()方法,阻止Vaadin默认的下拉关闭行为。

修改后的代码示例如下:

MenuBar menu = new MenuBar();
// 先创建顶级菜单项并获取其下拉子菜单
SubMenu operationSubMenu = menu.addItem("操作").getSubMenu();

operationSubMenu.addItem(VaadinIcon.PLUS.create(), event -> {
    increase();
    // 阻止下拉面板默认关闭
    event.preventDefault();
});

operationSubMenu.addItem(VaadinIcon.MINUS.create(), event -> {
    decrease();
    // 阻止下拉面板默认关闭
    event.preventDefault();
});

关键说明

  • MenuItemClickEvent的preventDefault()方法会取消Vaadin内置的「点击菜单项后关闭下拉面板」逻辑,让下拉面板持续展开,支持多次点击菜单项。
  • 如果你的菜单项是顶级直接触发操作的(无下拉层级),本身不存在关闭行为,无需额外处理;仅当下拉菜单中的子项需要重复点击时,才需要调用该方法。

内容的提问来源于stack exchange,提问作者thogau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:02:09