你可以这样做。,但事实并非如此
反应方式
,我认为有很多React组件要过滤列表。
class Home extends React.Component{
componentDidMount() {
const options = { valueNames: [ 'name' ] };
const userList = new List(this.refs.users, options);
}
render() {
return <div ref="users">
<input className="search" placeholder="Search" />
<ul className="list">
<li><h3 className="name">Jonny Stromberg</h3></li>
<li><h3 className="name">Jonas Arnklint</h3></li>
<li><h3 className="name">Martina Elm</h3></li>
</ul>
</div>
}
};
Example
笔记
-中
React
你必须使用
className
而不是
class
不带的示例
List.js
class Home extends React.Component {
constructor() {
super();
this.handleChange = this.handleChange.bind(this);
this.state = {
names: ['Jonny Stromberg', 'Jonas Arnklint', 'Martina Elm']
};
}
handleChange(e) {
const condition = new RegExp(e.target.value, 'i');
const names = this.state.names.filter(name => {
return condition.test(name);
});
this.setState({
names
})
}
render() {
const names = this.state.names.map((name, index) => {
return <li key={ index }>
<h3 className="name">{ name }</h3>
</li>
});
return <div>
<input
className="search"
placeholder="Search"
onChange={ this.handleChange }
/>
<ul className="list">{ names }</ul>
</div>
}
};
Example