@hbilal_9/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:
383 2
Install
npm install @hbilal_9/vue-select
Latest Version:0.0.10
Vue:3
License:MIT
Last Updated:Jul 17, 2024
Links: GitHub  ·  npm
Maintainer: hbilal_9

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

Prop Description Type Default
placeholder Select Placeholder String Choose option
options array of strings or objects Array []
label callback method that return label method () => {}
reduce callback method that data you wanna receive in that v-model method () => {}
filter-class you can change filter input style, you can add any css property with !important string default style
class you can also modify default style but make sure add !important with each property string default style

License

MIT License

Support Me

support me to publish more packages like this for free.

Coffee

Related Packages

slim-select_2

Slim advanced select dropdown

2,800 1,332
slim-select-with-styles

Slim advanced select dropdown

1,642 1,332
v-select-box

A vue.js component to provide a box with a list of items with search and paginat...

1,404 1
vue3-extended-multiselect

Extended multiselect dropdown component for Vue 3 with search, tagging, async op...

3,578 7
vue-extended-multiselect

Extended multiselect dropdown component for Vue 2 with search, tagging, async op...

1,593 1

Version History

Version Released Vue License
0.0.10 ^3.4.21 MIT
0.0.9 ^3.4.21 MIT
0.0.8 ^3.4.21 MIT
0.0.7 ^3.4.21 MIT
0.0.6 ^3.4.21 MIT