Home

Awesome

vue-input-tag

A Vue.js 2.0 input tag component inspired in react-tagsinput

Codeship Status for matiastucci/vue-input-tag Coverage Status Version License Monthly Downloads

<p align="center"> <img src="demo.gif" width="750" alt="Logo"/> </p>

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

NameTypeDefaultDescription
valueArray[]Tags to be render in the input
placeholderString""Placeholder to be shown when no tags
read-onlyBooleanfalseSet input to readonly
add-tag-on-blurBooleanfalseAdd tag on input blur
limitString or Number-1 (none)Set a limit for the amount of tags
validateString 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-keysArray[ 13 (return), 188 (comma), 9 (tab) ]Keys that are going to add the new tag
allow-duplicatesBooleanfalseAllow duplicate tags
before-addingFunctionnullFunction (allows async) to normalize tag before adding. E.g (tag) => tag.toUpperCase()

Events

NameArgumentsDescription
inputArray with tagsEmitted when a tag is added (after successful validation) and when a tag is removed
update:tagsArray with tagsSame as input event