2
0
mirror of https://github.com/tenrok/vue-select.git synced 2026-05-17 02:29:37 +03:00
Steven Harman e926b6e007 Use a flexbox-based layout
This change move away from floats and absolute positioning in favor of
flexbox. Flexbox allows us to solve some of the more quirky issues we're
having with elements (e.g, the input) being too big, causing "extra line
breaks", vertical alignment of close buttons, etc... and simplified RTL
support!

I did need to introduce two new child elements to the `dropdown-toggle`
element. These are used to group all of the selected tags and the input
in one group. And the "actions" (clear button, dropdown indicator, and
spinner) in another. Doing so has the added benefit of no longer
allowing selected options from running "under" those other elements.

NOTE: The large blocks of change are due to white space differences from
indenting inside those new wrapper elements. View the diff ignoring
white space to see a more accurate representation of the change here.
2018-07-19 12:51:07 -04:00
2018-01-23 08:47:56 -08:00
🚀 v2.4.0
2018-01-09 09:32:00 -08:00
2018-02-09 14:53:58 +03:00
2018-07-19 12:51:07 -04:00
2016-05-28 15:50:02 -07:00
2016-05-28 16:21:15 -07:00
2016-05-28 16:21:15 -07:00
2016-03-01 21:07:16 -08:00
2018-01-15 15:25:22 -08:00
2018-01-14 20:12:26 -08:00
2016-07-04 13:00:35 -07:00
2017-03-31 12:18:03 -07:00
2016-03-10 14:44:48 -08:00
2018-07-04 09:15:32 -07:00

vue-select Build Status Code Score Code Coverage No Dependencies MIT License Current Release

A native Vue.js select component that provides similar functionality to Select2 without the overhead of jQuery.

Want to help out as a primary contributor? Get in touch!

Features

  • AJAX Support
  • Tagging
  • List Filtering/Searching
  • Supports Vuex
  • Select Single/Multiple Options
  • Tested with Bootstrap 3/4, Bulma, Foundation
  • +95% Test Coverage
  • ~33kb minified with CSS
  • Zero dependencies

Documentation

Install

Vue Compatibility
  • vue ~2.0 use vue-select ~2.0
  • vue ~1.0 use vue-select ~1.0

NPM

Install the package. You should install vue-select@1.3.3 for use with vue ~1.0.

$ npm install vue-select

Register the component

import Vue from 'vue'
import vSelect from 'vue-select'
Vue.component('v-select', vSelect)

You may now use the component in your markup

<v-select v-model="selected" :options="['foo','bar']"></v-select>

CDN

Just include vue & vue-select.js - I recommend using unpkg.

<script src="https://unpkg.com/vue@latest"></script>
<!-- use the latest release -->
<script src="https://unpkg.com/vue-select@latest"></script>
<!-- or point to a specific release -->
<script src="https://unpkg.com/vue-select@1.3.3"></script>

Then register the component in your javascript:

Vue.component('v-select', VueSelect.VueSelect);

You may now use the component in your markup

<v-select v-model="selected" :options="['foo','bar']"></v-select>

Here's an example on JSBin.

Basic Usage

Syncing a Selected Value

The most common use case for vue-select is to have the chosen value synced with a parent component. vue-select takes advantage of the v-model syntax to sync values with a parent.

<v-select v-model="selected"></v-select>
new Vue({
  data: {
    selected: null
  }
})

Setting Options

vue-select accepts arrays of strings and objects to use as options through the options prop.

<v-select :options="['foo','bar']"></v-select>

When provided an array of objects, vue-select will display a single value of the object. By default, vue-select will look for a key named 'label' on the object to use as display text.

<v-select :options="[{label: 'foo', value: 'Foo'}]"></v-select>

For more information, please visit the vue-select documentation.

License

MIT

S
Description
No description provided
Readme 15 MiB
Languages
JavaScript 58%
Vue 26.4%
CSS 7.8%
SCSS 7.3%
HTML 0.5%