Komponen React sederhana untuk input pencarian, menyediakan fungsi filter.
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 } )
}
}
Semua alat peraga bersifat opsional. Semua props lainnya akan diteruskan ke input DOM.
Kelas Komponen (selain search-input
).
Fungsi dipanggil ketika istilah pencarian diubah (akan diteruskan sebagai argumen).
Entah [String]
atau String
. Akan digunakan oleh metode filter
jika tidak ada argumen yang diteruskan di sana.
Kurangi frekuensi panggilan ke fungsi onChange
(dalam ms). Standarnya adalah 200
.
Tentukan apakah penelusuran harus peka huruf besar-kecil. Standarnya false
Tentukan apakah pencarian harus kabur. Standarnya false
Tentukan apakah hasil pencarian harus diurutkan berdasarkan relevansi (hanya berfungsi dengan pencarian fuzzy). Standarnya false
Tentukan nilai masukannya.
Mengembalikan fungsi yang dapat digunakan untuk memfilter array. keys
bisa berupa String
, [String]
atau null
.
Jika keys
array adalah array, fungsi akan mengembalikan nilai true jika setidaknya salah satu kunci item cocok dengan istilah pencarian.
Mengembalikan fungsi yang dapat digunakan untuk memfilter array. searchTerm
dapat berupa regex
atau String
. keys
bisa berupa String
, [String]
atau null
.
Jika keys
array adalah array, fungsi akan mengembalikan nilai true jika setidaknya salah satu kunci item cocok dengan istilah pencarian.
Lihat react-search-input.css untuk mendapatkan ide tentang cara menata gaya komponen ini.
Berlisensi MIT