explaingit

shentao/vue-multiselect

6,776JavaScriptAudience · developerComplexity · 2/5Setup · easy

TLDR

A Vue.js dropdown component with no extra dependencies that supports single selection, multi-selection, tagging, async search, and Vue 3, and syncs to your app's data via standard v-model binding.

Mindmap

mindmap
  root((repo))
    What it does
      Dropdown component
      Single and multi select
      Tagging support
    Features
      Async option loading
      Search filtering
      v-model binding
    Compatibility
      Vue 3
      Vue 2 API parity
    Notes
      No extra dependencies
      Vite plugin issue
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace a plain HTML select box with a searchable multi-select dropdown in a Vue 3 app with no extra dependencies.

USE CASE 2

Build a tag input field where users can type new values and add them to the list on the fly.

USE CASE 3

Add an autocomplete dropdown that fetches matching options from a server as the user types, rather than loading all options upfront.

USE CASE 4

Migrate a Vue 2 project using vue-multiselect to Vue 3 with minimal changes to existing component usage.

Tech stack

JavaScriptVue.jsCSS

Getting it running

Difficulty · easy Time to first run · 5min

Known breakage with @vitejs/plugin-vue 5.2.2+, downgrade to 5.2.1 if the component stops rendering.

No license information was mentioned in the explanation.

In plain English

vue-multiselect is a Vue.js component that adds a flexible selection widget to web apps. In plain terms, it is a drop-in replacement for a standard HTML select box that supports more interaction patterns: single selection, multiple selection at once, and tagging, where a user can type in a new value and add it to the list on the fly. The component has no external dependencies beyond Vue itself. It works with Vue 3 and largely preserves the same API as the earlier Vue 2 version, so projects migrating between Vue versions can swap the component in with minimal changes. It ties into Vue's standard data binding system using v-model, which means the selected value stays automatically synchronized with the rest of your app's data. Beyond basic dropdowns, the component supports search filtering, where the list narrows as a user types. It also supports loading options asynchronously, which is useful when the full list of choices is too large to send all at once and the app needs to fetch matching results from a server based on what the user has typed. Visual appearance is controlled through a bundled CSS file that can be imported separately and customized. There is a known compatibility issue with versions 5.2.2 and later of the Vite build plugin for Vue. The plugin change can silently disable the Options API that this component depends on, causing it to stop working. Downgrading that plugin to version 5.2.1 resolves the problem. The Vue 3 version of this component was contributed by a separate developer and was built to make Vue 3 upgrades straightforward for projects already using the original vue-multiselect.

Copy-paste prompts

Prompt 1
I want to add a searchable multi-select dropdown to my Vue 3 app using vue-multiselect. Show me the install step and the minimal component markup with v-model.
Prompt 2
How do I configure vue-multiselect to load options asynchronously from an API as the user types, instead of passing a static list?
Prompt 3
I want users to be able to create new tags by typing in vue-multiselect. How do I enable tagging mode and handle the new tag event?
Prompt 4
My vue-multiselect component stopped working after upgrading the Vite Vue plugin to 5.2.2. What setting do I need to change to fix it?
Open on GitHub → Explain another repo

← shentao on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.