Skip to content

basarozcan/vue-tailwindcss-typeahead

Repository files navigation


Logo

vue-tailwindcss-typeahead

Just another vue&tailwind component that present you complete typeahead/autocomplete input.
Explore the docs »

View Demo on Codesandbox · Report Bug · Request Feature

Table of Contents

About The Project

component

I can't find any independent typeahead/autocomplete input component. All of them comes with UI libraries.

Built With

  • Vue
  • Tailwindcss

Getting Started

To get a local copy up and running follow these simple steps.

Installation

  1. Get package from npm
npm install vue-tailwindcss-typeahead

Default Import

Import component globally:

import { VueTwTypeahead } from '@/vue-tailwindcss-typeahead.vue';
import { createApp } from "vue";

import App from "./components/App.vue";
const app = createApp(App)
app.use(VueTwTypeahead)
app.mount('#app');

Usage

Call the component on parent

<VueTwTypeahead 
  :lists="list"
  @selected="selectedData"
  :ignoredList="selectedItemIds"
  :clearInputWhenClicked="false"
  :inputClass="['w-full','px-3','py-2','border','border-gray-400','rounded-lg','outline-none','focus:shadow-outline']"
  placeholder="Please write a city name"
>
</VueTwTypeahead>

Code on parent component

<script>
  import {VueTwTypeahead} from '@/vue-tailwindcss-typeahead.vue';

  export default {
    name: 'ParentComponent',
    components: {
      VueTwTypeahead
    },
    data() {
      return {
        list: [
          {
            id: 1,
            name: "Amsterdam",
          },
          {
            id: 2,
            name: "Berlin",
          },
          {
            id: 3,
            name: "Istanbul",
          },
        ],
        selectedItemIds: [],
        selectedItem: null
      };
    },
    methods: {
      selectedData(value) {
        this.selectedItem = value
      },
    },
  }
</script>

Properties

props description Type
lists pass an array of data. id and name attribute must be passed Array
ignoredList selected item's id will be passed to this variable and this item will not be showed if user want to change it Array
clearInputWhenClicked If this is set to true, input will be cleared after selection. Best for multiple selections Boolean
inputClass Tailwindcss classes can be passed to change input's class Array
placeholder placeholder text for input String
@selected point method on parent component for custom operations

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Twitter - @basarozcan

About

Just another vue&tailwind component that present you complete typeahead/autocomplete input.

Resources

Stars

Watchers

Forks

Packages

No packages published