1.1.0 • Published 5 years ago

react-awesome-combobox v1.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

React-Awesome-Combobox · GitHub license npm version Build Status

React-Combobox is a React library for building autocomplete searchbox in an easy and fully customizable way.

Installation

npm install --save react-awesome-combobox

Preview

Usage

import { Combobox } from 'react-awesome-combobox';
const data=[
    {name: 'Marouen Mhiri', age: 40, car: {carMake: 'VW', year: '2018'}},
    {name: 'Tanja Bernhardt', age: 35, car: {carMake: 'Audi', year: '2017'}},
    {name: 'Adam Mhiri', age: 5, car: {carMake: 'Mercedes', year: '2018'}},
    {name: 'Hanna Miriam Mhiri', age: 3, car: {carMake: 'VW', year: '2016'}},
    {name: 'Jasmin Gallas', age: 12, car: {carMake: 'Skoda', year: '2018'}},
    {name: 'Sofia M`hiri', age: 10, car: {carMake: 'Seat', year: '2015'}},
    {name: 'Sofiene Attia', age: 20, car: {carMake: 'Skoda', year: '2018'}},
];
return (
    <Combobox
        placeholder='Placeholder'
        bgColor='cadetBlue'
        data={data}
        filterProperty='car/carMake'
        display={{
            seperator: ',',
            fields: ['name', 'age', 'car/carMake', 'car/year']
        }}
        highlight
        itemHeight={40}
        visibleItems={4}
        onSelectItem={(sugg) => console.log(sugg)}
    />
);

or (with a simple array of strings)

import { Combobox } from 'react-awesome-combobox';
const names = ['John', 'Marouen', 'Tanja', 'Hanna', 'Sofia', 'Adam', 'Rafif'];
return (
    <Combobox
        placeholder='Search for name...'
        bgColor='green'
        data={names}
        itemHeight={50}
        visibleItems={3}
        onSelectItem={(sugg) => console.log(sugg)}/>
    </div>
);

Props

PropTypeRequiredDescription
dataArrayThese are the suggestions that will be displayed. Items can take an arbitrary shape.
plaeholderStringwill display the placeholder of the input field.
bgColorStringWhen set it will style the background color of the suggestions when moved using keyboard arrows. Default is "#6B9FCE".
filterPropertyString*When Implement it to teach Autosuggest what should be the input value when suggestion is clicked.
displayObjectGives the possibility to customize the suggestions. If your data is an array of objects and you filter for a specific property but want to display others. With this property it is possible (See Example here)
highlightBooleanhighlights the occurences in the suggestions using the mark tag.
itemHeightNumberspecifies the items height of the suggestions dropdown.
visibleItemsNumbersets the limit of the suggestions to see and make the dropdown scrollable.
onSelectItemFunctionA Callback function that will be triggered after selecting a suggestion. This function has as parameter the selected object.

data REQUIRED the list of the suggestions to filter. This can be a simple array of i.e. strings, numbers, booleans... or an array of objects. This property is REQUIRED.

placeholder OPTIONAL the placeholder to show in the input field.

bgColor OPTIONAL the Background color of the suggestions when visited with keyboard up/down-arrows.

filterProperty OPTIONAL the Property to search for in the list of the suggestions. This property works with the property data when it's an array of objects. filterProperty can contain '/'-sign to specify the property levels to search for.

display OPTIONAL Object specifying which property of the searched object should appear in the search result and how they should be seperated. display property when used should have this shape:

display = {{
    // or any other sign '|', ':', ' '...
    seperator: ',', 
    // Array of existing object properties
    fields: ['name', 'car/year'] 
}}

highlight OPTIONAL when true the found search string will be highlighted using the <mark />-html Tag

itemHeight OPTIONAL a number specifies the height of the suggestions boxes (this number will be used as pixel height) - default = 40

visibleItems OPTIONAL a maximum number of suggestions to see. The rest will be reached when scrolled or by tapping UP/Down Keys. Default = 4

onSelectItem OPTIONAL a callback function which will be called after a selection of a suggestion took place. this function recieves a suggestion item as parameter. I.e. use onSelectItem={(sugg) => console.log(sugg)} to see the result.

License

React-awesome-combobox is MIT licensed.