MenuBar replacement?

Any suggestions for a substitute for the MenuBar widget dropped from Framework (Vaadin 8) in Flow (Vaadin 10)?

[According to the guide to Migrating from Vaadin 8 to Vaadin 10]


No plans for replacement. A menu bar is a desktop pattern that is typically not suitable in a world of mobile first applications. Tabs can in some cases be used as a replacement.

I am a bit disappointed to see the talk of “mobile first” as I have always appreciated Vaadin being business/enterprise oriented.

For porting old desktop apps to Vaadin, I need to reproduce or approximate the menus used in the old app. Is there any suggestions for a menu bar replacement in Vaadin Flow?

There will not be exact replacement, but Dropdown Menu is coming, see it here:

Although the component name has the word ”menu” in it, Dropdown Menu is not really a menu – it’s a select component. So not really a great replacement.

Hierarchy support for Context Menu has been on the feature list from the beginning, though, but we just haven’t had time to do that yet. That and a couple of other enhancements, and you have a replacement for the old MenuBar component.

I’m a little confused as to why a MenuBar is not mobile design pattern. Virtually all phone apps have a “hamburger” menu selection component that looks like a menu, acts like a menu and in my humble opinion is a MenuBar. A Context Menu to me suggests a “press and hold” or right-click behaviour to trigger so it’s not a visible component. Even the website is organized with a MenuBar!

I am trying to see how easy it is to migrate some of my basic Vaadin 8 apps over to 10 and a stumbling block for me is a missing MenuBar at this point. I don’t want to use Tabs as they are always visible and I’m at a loss as to how to allow for user navigation without a MenuBar type pattern.

Or am I being too old-fashioned or am I missing something obvious?

There’s an AddOn called App Layout that could fit for you - I’ve already used it in Vaadin 8 and now eagerly waiting for the Vaadin 10 implementation - which is in development in the moment - see

Nice “not-a-MenuBar” replacement!

The MenuBar component from Vaadin 6-8 is not a common component in mobile apps:

Also, the a context menu can be triggered with other events than long tap or context click. A “popup button” is essentially a context menu for that button.

I am a newbie on vaadin and here I was trying to build my Main View, one with a MenuBar using vaadin flow. I am a little disappointed that it’s isn’t there. And why would a framework being marketed as a framework for building enterprise apps sacrifice a feature citing mobile first reasons?

sacrifice a feature citing mobile first reasons

We haven’t sacrificed this feature, it’s still planned. We just haven’t had the time to design and implement it yet. And mobile-first was never the only reason, though it does play a part. We want to make sure it works nicely for touch devices and small viewports as well, like all other components.

Thank you for letting us know that vaadin team still has a plan for the feature. Vaadin is some how different from other web tools due it’s ability to make desktop like UI’s and it’s because of such features.

  1. Want to add my vote as I am urgently in need of a menu bar for Flow.
  2. In the meantime I am looking for a suitable Web Component Menu Bar to integrate myself. Can you recommend one?

Reuben Sivan:
…a suitable Web Component Menu Bar to integrate myself. Can you recommend one?

While none are a full menu bar widget, on the blog find this posting by Binh Bui:

[Top 6 drop-down UI web components]

I just also wanted to say that a full fledged menu is really important as I also need it.
The dropdown menu alternatives are in my case not an alternative.
So I will build something with tabs :frowning:

We are trying to improve our roadmap communication, you can find it here

There is linked page which has list of Vaadin 8 components, their counterparts in Vaadin Platform and Flow. MenuBar is marked as planned for V14 release, which is according to roadmap page targeted June 2019. As plans for next releases become more concrete you can check also which is a bit more dynamic roadmap info about what is coming next.

A MenuBar web component and its Flow integration is in the backlog, currently it looks like it will happen on H1 of 2019.

Here is the issue to follow and +1 for now:

As a workaround, I created my own MenuBar class as a horizontal layout wrapping Buttons and dropdown menus, where the dropdowns are based on a third party JS library (shibui-dropdown-menu, but there are many to choose from).

I am very concerned about the statement “it is not on mobile devices”.

we chose vaadin a few years ago because they claimed that it was easy to pass from desktop applications.
It was not that easy but we did it

In fact, our applications today are for desktop. And there are still millions of users who use their PC with preference because they have a monitor “a little bigger” than their cell phone. And they can browse, buy, etc. over the Internet more comfortably.

It seems very good that now support / consider mobile devices. But I worry that vaadin leaves the desktop environment as something strategic.


Best regards

Sergio, MenuBar is currently targeted for Vaadin 14 (Q2 2019). We know that the component is very convenient for desktop users e.g. with lot of data in grids and they need to manage that data. We have not forgotten about desktop users.

The issue to follow is now and you can look track other “higher-level” items roadmap from


The hand of NOD:

I just also wanted to say that a full fledged menu is really important as I also need it. The dropdown menu alternatives are in my case not an alternative. So I will build something with tabs :frowning:

I’m wondering what you mean exactly with ”full fledged menu”, whether you mean the exact MenuBar component from Vaadin 8 and before, or something else?

Hi I want to implement Vertical Menu which contains changing views. I am new to Vaadin. I am using Vaadin 13. Can you shed a light on this. Maybe you can create a video or a tutorial and upload it on the channel. I am really stuck with this and I do not know how to go ahead with it. Eagerly waiting for a response.