0.0.10 • Published 1 year ago

@hbilal_9/vue-select v0.0.10

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Vue Select

Vue Select is a versatile dropdown component built for Vue.js applications. It offers a pre-built template for standard filterable select dropdowns, saving you development time. Key features include:

  • Filtering: Easily search and filter through a list of options using a search bar.
  • Multiple Selection: Allow users to pick multiple options from the dropdown.
  • Customization: Tailor the dropdown's appearance and behavior to perfectly match your application's design and functionality.
  • Accessibility: Vue Select prioritizes accessibility, ensuring all users can interact with the dropdown seamlessly.
  • Lightweight: Despite its rich features, Vue Select maintains a small footprint, keeping your application performant.

Screenshots

App Screenshot

App Screenshot

Installation

Install Vue Select with npm

  npm i @hbilal_9/vue-select

Browser with CDN

<script src="https://unpkg.com/@hbilal_9/vue-select/dist/index.js"></script>

Setup

Import vSelect in main.ts

  import vSelect from '@hbilal_9/vue-select'
  import '@hbilal_9/vue-select/dist/style.css'
  app.use(vSelect)

Nuxt Setup

Create a plugin named vue-select.ts in plugins folder

plugins/vue-select.ts

Add the following code in vue-select.ts

  import vSelect from "@hbilal_9/vue-select";
  import "@hbilal_9/vue-select/dist/style.css";
  export default defineNuxtPlugin((nuxtApp) => {
    nuxtApp.vueApp.use(vSelect);
  });

Usage

with array of objects

<script setup lang="ts">
  import { ref } from 'vue';
  const data = ref("")

  const options = ref([
  {
	id: 1,
	name: "Jone Shone",
  },
  {
	id: 2,
	name: "Snow White",
  },
  {
	id: 3,
	name: "kate Winslet",
  },
])

</script>

<template>
  <v-select
	  v-model="data"
	  :options="options"
	  :reduce="(opt: any) => opt.id"
	  :label="(opt: any) => opt.name"
	  placeholder="choose user"
	  :multiple="true"
  />
</template>

with array of strings

<script setup lang="ts">
  import { ref } from 'vue';
  const data = ref("")

  const options = ref(['us', 'uk', 'pk', 'in', 'fr'])

</script>

<template>
  <v-select
	v-model="data"
	:options="options"
	:reduce="(name: any) => name"
	:label="(name: any) => name"
    placeholder="choose country"
  />
</template>

Emits

you can also pass change event

  <v-select @change="getData"></v-select>

in script

function getData(e){
    console.log(e)
}

Props

PropDescriptionTypeDefault
placeholderSelect PlaceholderStringChoose option
optionsarray of strings or objectsArray[]
labelcallback method that return labelmethod() => {}
reducecallback method that data you wanna receive in that v-modelmethod() => {}
filter-classyou can change filter input style, you can add any css property with !importantstringdefault style
classyou can also modify default style but make sure add !important with each propertystringdefault style

License

MIT License

Support Me

support me to publish more packages like this for free.

Coffee

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago