npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vue3-select-option-search

v0.0.6

Published

Vue 3 select option package, where you should pass an array or array of objects as a prop and returns a selectd item or object.

Downloads

60

Readme

Vue 3 select option with search filter

1 2 3 4

Feature

Using this package, you can display an array of object on select option list, select a specific object and render its display name.

Props ----- v-model, data and displayName are REQUIRED

placeHolder - Default title is Select Item, Pass a string you prefer to display initially, such as 'Select company', 'Select user', etc, than after you select an item, selected item's display name will be displayed.

width - By default width is inherited but if you wat to give a specific, just pass a number you like. Note - measurement will be in PX - pixels.

maxHeight - By default maximum height will be 250px, but if you wat to give a specific, just pass a number you like. Note - measurement will be in PX - pixels.

inputOutlineColor - By default the input outline colour when focused will be the shades of green, but if you want it to look different just pass color name, hex code or rgba value of your choice on string like inputOutlineColor="'red'".

inputBorderColor - By default the input border colour will be gray, but if you want it to look different just pass color name, hex code or rgba value of your choice on string like inputBorderColor="'yellow'".

selected - If you want to pass a default value to render initially, you can pass an object to selected prop like

data - To render your items on a list, just pass array of objects, Note: only pass array of objects.

v-model - Pass a variable to store a selected object. For example, if you may want to store selected object or item on a variable like this const selectedItem = ref({}) or const selectedItem = reactive({}), just pass selectedItem to v-model like v-model="selectedItem"

displayName - Pass a prop as string to displayName for example displayName="'name'", in this case name should be a field inside a object you passed on data array, like as data = [{id: 1, name: abc, age: 50}, {id: 2, name: def, age: 25}], So now on this object, except for id, name and age, if you mis-spell or pass a string which is not a key(field) of an object on array, the package will not render anything on option list.

Usage

  • You should globally import this package and it's style on main.js, also you should use it on App, like


import SelectOption from 'vue3-select-option-search'
import "vue3-select-option-search/dist/style.css"

createApp(App).use(SelectOption).mount('#app')
  • Alternatively


import SelectOption from 'vue3-select-option-search'
import "vue3-select-option-search/dist/style.css"

const app = createApp(App);

app.use(SelectOption);

app.mount('#app')

<script setup>
import { ref } from 'vue';

const data = [
  {id: 1, name: 'Ram'},
  {id: 2, name: 'Shyam'},
  {id: 3, name: 'Hari'},
  {id: 4, name: 'Krishna'},
  {id: 5, name: 'Balram'},
  {id: 6, name: 'Arjun'},
]

const selectedItem = ref({})

</script>

<template>
  
  <main>

    <select-option
      :placeHolder="'select item'"
      :width="500"
      v-model="selectedItem"
      :maxHeight="400"
      :inputOutlineColor="'#86efac'"
      :data="data"
      :inputBorderColor="'gray'"
      :displayName="'name'"
      :selected="data[0]"
    />

    <p v-if="!!selectedItem.name">{{ selectedItem.name }}</p>
  </main>
</template>

<style scoped>

</style>