Multiselect Combo Box | Vaadin

A multiselection component where items are displayed in a drop-down list.


A multi select combo box component for Vaadin Flow.

Integration of of the multiselect-combo-box web component.

Live Demo ↗


Add the multiselect-combo-box-flow dependency to your pom.xml:


Add the vaadin-addons repository:


Basic Usage

Create a MultiselectComboBox and add items

MultiselectComboBox<String> multiselectComboBox = new MultiselectComboBox();

multiselectComboBox.setLabel("Select items");

multiselectComboBox.setItems("Item 1", "Item 2", "Item 3", "Item 4");

Add a value change listener (invoked when the selected items/value is changed):

multiselectComboBox.addValueChangeListener(event -> {
    // handle value change

Get the selected items/value:

// set of selected values, or an empty set if none selected
Set<String> value = multiselectComboBox.getValue();

MultiselectComboBox also implements the MultiSelect interface, which makes it easy to listen for selection changes:

multiselectComboBox.addSelectionListener(event -> {
   event.getAddedSelection(); // get added items
   event.getRemovedSelection() // get removed items

Object items

The MultiselectComboBox supports object items. Given the following User class:

class User {
    private String name;
    private String username;
    private String email;

    public User(String name, String username, String email) {
        this.username = username; = email;

    // getters and setters intentionally omitted for brevity

    public String toString() {
        return name;

Create a MultiselectComboBox of Users:

MultiselectComboBox<User> multiselectComboBox = new MultiselectComboBox();

multiselectComboBox.setLabel("Select users");

List<User> users = Arrays.asList(
    new User("Leanne Graham","leanne",""),
    new User("Ervin Howell","ervin",""),
    new User("Samantha Doe","samantha","")

// by default uses `User.toString()` to generate item labels

The MultiselectComboBox uses the toString() method to generate the item labels by default. This can be overridden by setting an item label generator:

// use the user email as an item label

Version information

  • 4.x.x - the version for Vaadin 22+
  • 3.x.x - the version for Vaadin 16 and Vaadin 15
  • 2.x.x - the version for Vaadin 14 (LTS)
  • 1.x.x. - the version for Vaadin 13 and Vaadin 12

Branch information

  • master the latest version for Vaadin 22+
  • V14 the version for Vaadin 14 (LTS)

Web Component

The <multiselect-combo-box> web component is available on npm, the Vaadin Directory and GitHub.


Link to this version
BetaReleased 13 February 2022Apache License 2.0
Framework Support
Vaadin platform 20+
Browser Compatibility
Install with
Release notes - Version 4.0.0-rc2

This is the initial release candidate that provides support for Vaadin 22+.

Please note that this release uses the latest updated version of the web component (