react search input
v0.2.8
フィルター機能を提供する、検索入力用のシンプルな React コンポーネント。
npm install react-search-input --save
import React , { Component } from 'react'
import SearchInput , { createFilter } from 'react-search-input'
import emails from './mails'
const KEYS_TO_FILTERS = [ 'user.name' , 'subject' , 'dest.name' ]
class App extends Component {
constructor ( props ) {
super ( props )
this . state = {
searchTerm : ''
}
this . searchUpdated = this . searchUpdated . bind ( this )
}
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 } )
}
}
すべての小道具はオプションです。他のすべてのプロパティは DOM 入力に渡されます。
コンポーネントのクラス ( search-input
に加えて)。
検索語が変更されたときに呼び出される関数 (引数として渡されます)。
[String]
またはString
いずれか。引数が渡されない場合、 filter
メソッドによって使用されます。
onChange
関数の呼び出し頻度を減らします (ミリ秒単位)。デフォルトは200
です。
検索で大文字と小文字を区別するかどうかを定義します。デフォルトはfalse
です
あいまい検索を行うかどうかを定義します。デフォルトはfalse
検索結果を関連性によって並べ替える必要があるかどうかを定義します (あいまい検索でのみ機能します)。デフォルトはfalse
入力の値を定義します。
配列をフィルタリングするために使用できる関数を返します。 keys
String
、 [String]
またはnull
を指定できます。
配列keys
が配列の場合、項目のキーの少なくとも 1 つが検索語に一致すると、この関数は true を返します。
配列をフィルタリングするために使用できる関数を返します。 searchTerm
regex
またはString
を指定できます。 keys
String
、 [String]
またはnull
を指定できます。
配列keys
が配列の場合、項目のキーの少なくとも 1 つが検索語に一致すると、この関数は true を返します。
このコンポーネントのスタイルを設定する方法については、react-search-input.css を参照してください。
MITライセンス取得済み