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 了解如何设置此组件的样式。
麻省理工学院许可