vue-input-tag
v2.0.7
Published
Vue.js input tag editor component
Downloads
16,799
Maintainers
Readme
vue-input-tag
A Vue.js 2.0 input tag component inspired in react-tagsinput
Installation
NPM / Yarn
npm install vue-input-tag --save
yarn add vue-input-tag
Then you need to import and register it:
import InputTag from 'vue-input-tag'
Vue.component('input-tag', InputTag)
CDN
<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/vue-input-tag"></script>
Then you need to register it:
Vue.component('input-tag', vueInputTag.default)
Usage
<input-tag v-model="tags"></input-tag>
Props
| Name | Type | Default | Description |
| ---:| --- | ---| --- |
| value | Array | [] | Tags to be render in the input |
| placeholder | String | "" | Placeholder to be shown when no tags |
| read-only | Boolean | false | Set input to readonly |
| add-tag-on-blur | Boolean | false | Add tag on input blur |
| limit | String or Number | -1 (none) | Set a limit for the amount of tags |
| validate | String or Function (allows async) or Object | "" | Apply certain validator for user input. Choose from email
, url
, text
, digits
or isodate
. Or pass a function
or a RegExp
object for custom validation |
| add-tag-on-keys | Array | [ 13 (return), 188 (comma), 9 (tab) ] | Keys that are going to add the new tag
| allow-duplicates | Boolean | false | Allow duplicate tags
| before-adding | Function | null | Function (allows async) to normalize tag before adding. E.g (tag) => tag.toUpperCase()
Events
| Name | Arguments | Description | | ---: | --- | --- | | input | Array with tags | Emitted when a tag is added (after successful validation) and when a tag is removed | | update:tags | Array with tags | Same as input event |