Componente React simples para uma entrada de pesquisa, fornecendo uma função de filtro.
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 } )
}
}
Todos os adereços são opcionais. Todos os outros adereços serão passados para a entrada do DOM.
Classe do Componente (além de search-input
).
Função chamada quando o termo de pesquisa é alterado (será passado como argumento).
Um [String]
ou um String
. Será usado pelo método filter
se nenhum argumento for passado lá.
Reduza a frequência de chamadas para a função onChange
(em ms). O padrão é 200
.
Defina se a pesquisa deve diferenciar maiúsculas de minúsculas. O padrão é false
Defina se a pesquisa deve ser difusa. O padrão é false
Defina se os resultados da pesquisa devem ser ordenados por relevância (funciona apenas com pesquisa difusa). O padrão é false
Defina o valor da entrada.
Retorna uma função que pode ser usada para filtrar um array. keys
podem ser String
, [String]
ou null
.
Se um array keys
for um array, a função retornará verdadeiro se pelo menos uma das chaves do item corresponder ao termo de pesquisa.
Retorna uma função que pode ser usada para filtrar um array. searchTerm
pode ser uma regex
ou uma String
. keys
podem ser String
, [String]
ou null
.
Se um array keys
for um array, a função retornará verdadeiro se pelo menos uma das chaves do item corresponder ao termo de pesquisa.
Veja react-search-input.css para ter uma ideia de como estilizar este componente.
Licenciado pelo MIT