@bartversluijs/vue-select
v3.10.8
Published
Everything you wish the HTML <select> element could do, wrapped up into a lightweight, extensible Vue component.
Downloads
2
Readme
vue-select
This is a fork of vue-select with support for searching multiple keys in an object, customizable text when no results are found and a minimum input length before the list shows.
Everything you wish the HTML
<select>
element could do, wrapped up into a lightweight, zero dependency, extensible Vue component.
Vue Select is a feature rich select/dropdown/typeahead component. It provides a default template that fits most use cases for a filterable select dropdown. The component is designed to be as lightweight 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
Documentation
Complete documentation and examples available at https://vue-select.org.
Sponsors :tada:
It takes a lot of effort to maintain this project. If it has saved you development time, please consider sponsoring the project with GitHub sponsors!
Huge thanks to the sponsors and contributors that make Vue Select possible!
Install (Standard Repo, without this fork's functionality)
yarn add vue-select
# or use npm
npm install vue-select
Then, import and register the component:
import Vue from "vue";
import vSelect from "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";
Alternatively, you can import the scss for complete control of the component styles:
@import "vue-select/src/scss/vue-select.scss";
You can also include vue-select directly in the browser. Check out the documentation for loading from CDN..
Fork functions
The functions that are available in this fork are explained here.
Change the text when no options are available
<v-select v-model="selected" :options="['Vue.js','React']" :noOptionsText="'Sorry, geen opties gevonden'"></v-select>
Use multiple keys to search from, with "a darn good search filter function" credits to Peterbe.com.
<v-select v-model="selected" :options="[{name: 'John Doe', address: '123 Main St', city: 'Anytown'}, {name: 'Jane Doe', address: '123 Appleseed', city: 'Cupertino'}, {name: 'Jan Janssen', address: 'Hoofdweg 1', city: 'Amsterdam'}]" :noOptionsText="'Sorry, geen opties gevonden'" label="name" :searchBy="['name', 'address', 'city']"></v-select>
Set minimum input length
<v-select v-model="selected" :options="[{name: 'John Doe', address: '123 Main St', city: 'Anytown'}, {name: 'Jane Doe', address: '123 Appleseed', city: 'Cupertino'}, {name: 'Jan Janssen', address: 'Hoofdweg 1', city: 'Amsterdam'}]" :noOptionsText="'Sorry, geen opties gevonden'" label="name" :searchBy="['name', 'address', 'city']" :minInputLength="1"></v-select>
This fork is used internally and only with the searchBy key. If there are any issues, feel free to create an issue and/or fix the issue. But please, keep me informed!