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 } )
}
}
所有道具都是可選的。所有其他 props 將傳遞到 DOM 輸入。
元件的類別(除了search-input
之外)。
搜尋詞更改時調用的函數(將作為參數傳遞)。
要嘛是[String]
要嘛是String
。如果沒有傳遞參數,將由filter
方法使用。
減少onChange
函數的呼叫頻率(以毫秒為單位)。預設值為200
。
定義搜尋是否應區分大小寫。預設為false
定義搜尋是否應該模糊。預設為false
定義搜尋結果是否應依相關性排序(僅適用於模糊搜尋)。預設為false
定義輸入的值。
傳回一個可用於過濾數組的函數。 keys
可以是String
、 [String]
或null
。
如果數組keys
是數組,則如果該項目的至少一個鍵與搜尋項匹配,則函數將傳回 true。
傳回一個可用於過濾數組的函數。 searchTerm
可以是regex
或String
。 keys
可以是String
、 [String]
或null
。
如果數組keys
是數組,則如果該項目的至少一個鍵與搜尋項匹配,則函數將傳回 true。
查看react-search-input.css 以了解如何設定此元件的樣式。
麻省理工學院許可