0.0.3 • Published 3 years ago

vue-twoside-multiple-select v0.0.3

Weekly downloads
10
License
MIT
Repository
github
Last release
3 years ago

vue-twoside-multiple-select

A MultiSelect with two lists for Vue.js, searchable, sorting and action buttons.

enable group list move and remove

capture1

Install npm

npm install vue-twoside-multiple-select --save

Import and use

Import for global usage

import Vue from 'vue'
import TwosideSelect from 'vue-twoside-multiple-select'

Vue.use(TwosideSelect)
...

Or on a single component

import TwosideSelect from 'vue-twoside-multiple-select'
...
},
components: { TwosideSelect }
...

Props

NameTypeDefaultDescription
itemsArrayArray of items to select
selectedItemsArrayArray of selected items
valueFieldStringvalueValue field
textFieldStringtextText field
childFieldStringchildrenText field
showFieldStringdisabledText field
searchableBooleanfalseIf enabled, it will display search fields for lists.
searchablePlaceholderStringSearchPlaceholder of inputs search
sorteableBooleanfalseSort array by property name
orderByStringidProperty name to sort
textItemsStringitemsCounter text that is below the left list
textSelectedItemsObject{one: 'selected item', greaterThanOne: 'selected items'}Counter text that is below the right list
limitSelectedItemsNumber999Limit items that the user can select
disabledBooleanfalseDisable select

Events

NameDescription
itemAddedWhen an item has been added to the list
itemRemovedWhen an item has been removed from the list
selectedListModifiedWhen the selected list has been modified

How to use

After you have installed the package and imported it, call the component's html and pass its properties.

<twoside-select
  :items="arrayOfItems"
  :selectedItems="arrayOfSelectedtems"
  :limitSelectedItems="10"
  :searchable="true"
  :disabled="false"
  :sorteable="true"
  :orderBy="'name'"
  :showTextSelectedItem="true"
  :limitSelectedItems="999"
  text-field="name"
  value-field="id"
  ></twoside-select>
arrayOfItems: [
    {
        id: 1,
        name: 'Bitcoin',
        children: [
            {
                id: 22,
                name: 'Bitcoin2'
            },
            {
                id: 23,
                name: 'Bitcoin3',
                disabled: true
            },
            {
                id: 24,
                name: 'Bitcoin4'
            },
            {
                id: 25,
                name: 'Bitcoin5'
            },
            {
                id: 26,
                name: 'Bitcoin6'
            }
        ]
    },
    {
        id: 2,
        name: 'Ethereum',
        disabled: true
    },
    {
        id: 3,
        name: 'Ripple'
    }

Contributing

To contribute to this project you can clone the repository and run the npm run dev command to test.

npm install

npm run dev

npm publish