JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 39743
  • Score
    100M100P100Q149379F
  • License MIT

Simple react.js component for a search input, providing a filter function.

Package Exports

  • react-search-input

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-search-input) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

react-search-input

build status npm version Dependency Status devDependency Status

Simple React component for a search input, providing a filter function.

Demo

Install

npm install react-search-input --save

Example

import SearchInput, {createFilter} from 'react-search-input'

import emails from './mails'

const KEYS_TO_FILTERS = ['user.name', 'subject', 'dest.name']

const App = React.createClass({
  getInitialState () {
    return { searchTerm: '' }
  },

  render () {
    const filteredEmails = emails.filter(createFilter(this.state.searchTerm, KEYS_TO_FILTERS))

    return (
      <div>
        <SearchInput className="search-input" onChange={this.searchUpdated} />
        {filteredEmails.map(email => {
          return (
            <div className="mail" key={email.id}>
              <div className="from">{email.user.name}</div>
              <div className="subject">{email.subject}</div>
            </div>
          )
        })}
      </div>
    )
  },

  searchUpdated (term) {
    this.setState({searchTerm: term})
  }
})

API

Props

All props are optional. All other props will be passed to the DOM input.

className

Class of the Component (in addition of search-input).

onChange

Function called when the search term is changed (will be passed as an argument).

filterKeys

Either an [String] or a String. Will be use by the filter method if no argument is passed there.

throttle

Reduce call frequency to the onChange function (in ms). Default is 200.

caseSensitive

Define if the search should be case sensitive. Default is false

fuzzy

Define if the search should be fuzzy. Default is false

value

Define the value of the input.

Methods

filter([keys])

Return a function which can be used to filter an array. keys can be String, [String] or null.

If an array keys is an array, the function will return true if at least one of the keys of the item matches the serch term.

Static Methods

filter(searchTerm, [keys], [caseSensitive])

Return a function which can be used to filter an array. searchTerm can be a regex or a String. keys can be String, [String] or null.

If an array keys is an array, the function will return true if at least one of the keys of the item matches the serch term.

Styles

Look at react-search-input.css for an idea on how to style this component.


MIT Licensed