All Projects → ek0t0v → vue-tags-component

ek0t0v / vue-tags-component

Licence: MIT license
Vue.js 2+ tags component

Programming Languages

Vue
7211 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to vue-tags-component

tagselector
Dependency-free JS library that turns select fields in customizable tag clouds
Stars: ✭ 19 (-29.63%)
Mutual labels:  select, tags, dropdown
Nb Choices
Angular wrapper for choices.js, vanilla, lightweight, configurable select box/text input plugin
Stars: ✭ 32 (+18.52%)
Mutual labels:  select, tags, dropdown
Ng Select
⭐ Native angular select component
Stars: ✭ 2,781 (+10200%)
Mutual labels:  select, dropdown
Multiselect
Vue 3 multiselect component with single select, multiselect and tagging options.
Stars: ✭ 92 (+240.74%)
Mutual labels:  select, dropdown
Bootstrap Select
🚀 The jQuery plugin that brings select elements into the 21st century with intuitive multiselection, searching, and much more.
Stars: ✭ 9,442 (+34870.37%)
Mutual labels:  select, dropdown
React Native Picker Select
🔽 A Picker component for React Native which emulates the native <select> interfaces for iOS and Android
Stars: ✭ 1,229 (+4451.85%)
Mutual labels:  select, dropdown
Autocomplete
🔮 Fast and full-featured autocomplete library
Stars: ✭ 1,268 (+4596.3%)
Mutual labels:  select, dropdown
React Responsive Select
A customisable, touchable, React select / multi-select form control. Built with keyboard and screen reader accessibility in mind
Stars: ✭ 98 (+262.96%)
Mutual labels:  select, dropdown
Vanilla Select
Standalone replacement for select boxes.
Stars: ✭ 12 (-55.56%)
Mutual labels:  select, dropdown
React Native Dropdown Picker
A single / multiple, categorizable & searchable item picker (dropdown) component for react native which supports both Android & iOS.
Stars: ✭ 230 (+751.85%)
Mutual labels:  select, dropdown
React Select Me
Fast 🐆. Lightweight 🐜. Configurable 🐙. Easy to use 🦄. Give it a shot 👉🏼
Stars: ✭ 119 (+340.74%)
Mutual labels:  select, dropdown
React Dropdown Select
Customisable dropdown select for react
Stars: ✭ 227 (+740.74%)
Mutual labels:  select, dropdown
Ember Select Box
🔠 A faux select box for Ember apps
Stars: ✭ 60 (+122.22%)
Mutual labels:  select, dropdown
React Native Modal Dropdown
A react-native dropdown/picker/selector component for both Android & iOS.
Stars: ✭ 1,103 (+3985.19%)
Mutual labels:  select, dropdown
Ngx Select Dropdown
Custom Dropdown for Angular 4+ with multiple and single selection options
Stars: ✭ 91 (+237.04%)
Mutual labels:  select, dropdown
Pretty Dropdowns
A simple, lightweight jQuery plugin to create stylized drop-down menus.
Stars: ✭ 96 (+255.56%)
Mutual labels:  select, dropdown
Angular2 Multiselect Dropdown
Angular 2 Dropdown Multiselect
Stars: ✭ 225 (+733.33%)
Mutual labels:  select, dropdown
Angular Chosen
AngularJS Chosen directive is an AngularJS Directive that brings the Chosen jQuery in a AngularJS way
Stars: ✭ 695 (+2474.07%)
Mutual labels:  select, dropdown
Jquery Selectric
jQuery plugin for easy manipulation and customization of HTML selects
Stars: ✭ 724 (+2581.48%)
Mutual labels:  select, dropdown
Downshift
🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.
Stars: ✭ 10,183 (+37614.81%)
Mutual labels:  select, dropdown

vue-tags-component

Latest Version on NPM Software License npm

The package contains a Vue.js component for adding and removing tags.

Features

  • keyboard control
  • search
  • events
  • tabindex
  • colored tags
  • tags creation

Installation

You can install the package via npm:

$ npm install --save vue-tags-component

or yarn:

$ yarn add vue-tags-component

Usage

The most common use case is to register the component globally:

import Vue from 'vue';
import { VueTags } from 'vue-tags-component';

Vue.component('vue-tags', VueTags);

On your page you can now use html like this:

<vue-tags
    :active="activeTags"
    :all="allTags"
    :element-count-for-start-arrow-scrolling="3"
    :tab-index="1"
    :tag-creation-enabled="true"
    :colors-enabled="false"
    :colors="colors"
    :tag-color-default="'green'"
    :tag-list-label="'Select an option'"
    :placeholder="'Select an option'"
    @on-tag-added="onTagAdded"
    @on-tag-removed="onTagRemoved"
    @on-tag-list-opened="onTagListOpened"
    @on-tag-list-closed="onTagListClosed"
    @on-tag-created="onTagCreated"
/>

All props and events are indicated in the example above. Tags should look like this:

[
    {
        "id": 1,
        "name": "Tag",
        "slug": "tag (optional)",
        "color": "#963dff (optional)"
    }
]

TODO

  • Closing the drop-down list when clicking outside the component.
  • Make the functionality of creating a new tag, add a tag creation event. Make this functionality optional (the ability to enable via props).
  • To think up a convenient way of styling (redefining standard styles or some other way).
  • Adaptive layout.
  • Animation.
  • Placeholder for the search string (do you need?). Show the placeholder only when no tag is selected.
  • tagColorDefault prop validation.

Events

on-tag-added

Called when the tag is added to the active list, it passes the tag object.

on-tag-removed

Called when the tag is removed from the active list, it passes the tag object.

on-tag-list-opened

Called when opening a list of tags.

on-tag-list-closed

Called when the list of tags is closed.

on-tag-created

Called when a new tag is created, it passes the tag object with id = 0 (the identifier must be changed, since 0 denotes the tag to create). The component does not process the slug field of the tag, slug will be equal to the name of the tag, you can process it as you need (for example, tag.slug.toLowerCase (). Replace (/ / g, '_')).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].