mirror of
https://github.com/tenrok/vue-select.git
synced 2026-05-17 02:29:37 +03:00
a05499c75aa6e408358910b6b3f8d6740f3ae95b
vue-select 
Rather than bringing in jQuery just to use Select2 or Chosen, this Vue.js component provides similar functionality without the extra overhead of jQuery, while providing the same awesome data-binding features you expect from Vue. Vue-select has no dependencies other than Vue.
Demo
http://sagalbot.github.io/vue-select/
Install / Usage
$ npm install sagalbot/vue-select
<template>
<div id="myApp">
<v-select :value.sync="selected" :options="options"></v-select>
</div>
</template>
<script>
import vSelect from 'vue-select'
export default {
components: {vSelect},
data() {
return {
selected: null,
options: ['foo','bar','baz']
}
}
}
</script>
Parameters
valueRepresents the currently selected value(s). Can benull, an empty string, or[]. Ifmultipleis true, the current value will be represented in an array, otherwise it will be a single string or object, depending on what you've passed foroptions.- twoway: true,
- required: true
optionsAn array of strings or objects to be used as dropdown choices. Supports['foo','bar']&[{label: 'Foo', value: 'foo'}]. When using the[{}]syntax, the objects in the array can have as many properties as you need, as long as the object containsvalueandlabelkeys.- type:
Array - default:
[]
- type:
maxHeightLimit the height of the dropdown menu.- type: String
- default: '400px'
searchableToggle filtering of options.- type: Boolean
- default: true
multipleEquivalent tomultipleattribute on a<select>.- type: Boolean
- default: true
placeholderEquivalent toplaceholderattribute on an<input>.- type: String
- default: ' '
transitionVuetransitionprop applied to the.dropdown-menu.- type: Boolean
- default: true
Todos:
fix layout issues with multiple selectionstags overflow outside.dropdownsearch input overflows outside.dropdown
use an actual element instead of:afterto detect clicks on dropdown caret- fix layout/toggle issues when
searchableis false simpleprop that disablessearchand keeps a staticplaceholderregardless of current selection (useful for things like icon button dropdowns)- less opinionated styles / only include css necessary to acheive layout (no colors, etc)
- ability to pre-select options when using
[{label: 'Foo', value: 'foo'}]syntax (already works with['foo','bar','baz']syntax) - (maybe) load data from an ajax source with vue-resource
- more tests!!
Build Setup for Contributing
If there's a feature you'd like to see or you find a bug, feel free to fork and submit a PR. If your adding functionality, add tests to go with it.
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for demo site (without minification so visitors can inspect with Vue Dev Tools)
npm run build
# lint all *.js and *.vue files
npm run lint
# run unit tests
npm test
For more information see the docs for vueify.
Description
Languages
JavaScript
58%
Vue
26.4%
CSS
7.8%
SCSS
7.3%
HTML
0.5%