- Notifications
You must be signed in to change notification settings - Fork1.3k
Everything you wish the HTML <select> element could do, wrapped up into a lightweight, extensible Vue component.
License
sagalbot/vue-select
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Everything you wish the HTML
<select>
element could do, wrapped up into a lightweight, zerodependency, extensible Vue component.
Vue Select is a feature rich select/dropdown/typeahead component. It provides a defaulttemplate that fits most use cases for a filterable select dropdown. The component is designed to be aslightweight as possible, while maintaining high standards for accessibility,developer experience, and customization.
- Tagging
- Filtering / Searching
- Vuex Support
- AJAX Support
- SSR Support
- Accessible
- ~20kb Total / ~5kb CSS / ~15kb JS
- Select Single/Multiple Options
- Customizable with slots and SCSS variables
- Zero dependencies
Complete documentation and examples available athttps://vue-select.org.
It takes a lot of effort to maintain this project. If it has saved you development time, please considersponsoring the projectwith GitHub sponsors!
Huge thanks to thesponsors andcontributors that make Vue Select possible!
Vue 3 / Vue Select 4.x-beta
Vue 3 support is on the
beta
channel:vue-select@beta
, and will become the new default whenv4
is released. See#1579 for more details!
Install:
yarn add vue-select@beta# or use npmnpm install vue-select@beta
Then, import and register the component:
#main.tsormain.jsimport{createApp}from"vue";importAppfrom"./App.vue";import{VueSelect}from"vue-select";createApp(App).component("v-select",VueSelect).mount("#app");
The component itself does not include any CSS. You'll need to include it separately in your Component.vue:
<style>@import"vue-select/dist/vue-select.css";</style>
Vue 2 / Vue Select 3.x
Install:
yarn add vue-select# or use npmnpm install vue-select
Then, import and register the component:
importVuefrom"vue";importvSelectfrom"vue-select";Vue.component("v-select",vSelect);
The component itself does not include any CSS. You'll need to include it separately:
import"vue-select/dist/vue-select.css";
You can also include vue-select directly in the browser. Check out thedocumentation for loading from CDN..
About
Everything you wish the HTML <select> element could do, wrapped up into a lightweight, extensible Vue component.