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
相关产品推荐
相关产品推荐

