【发布时间】:2017-08-17 13:32:15
【问题描述】:
我正在尝试使用 react 过滤列表,但令人惊讶的是,对于这样一个常见的任务,在网上找不到任何东西来帮助我实现这一点。
我有一组用户,然后我想过滤它们(从名称开始 - 我可以按年龄进行过滤)。 该数组在我的 redux 存储中,如下所示。
let users = [
{
name: 'Raul',
age: 29
},
{
name: 'Mario',
age: 22
}
];
我的整个组件如下所示。
class Test extends Component {
constructor(props) {
super(props);
this.state = {
users: this.props.users
};
this.filterList = this.filterList.bind(this);
}
componentWillReceiveProps(nextProps) {
this.setState({
users: nextProps.users
});
}
filterList(event) {
let users = this.state.users;
users = users.filter(function(user){
//unsure what to do here
});
this.setState({users: users});
}
render(){
const userList = this.state.users.map((user) => {
return <li>{user.name} {user.age}</li>;
});
return(
<input type="text" placeholder="Search" onChange={this.filterList}/>
<ul>
{ userList }
</ul>
);
}
}
【问题讨论】:
-
过滤条件是什么?
-
道歉@pablogq 按名称过滤。理想情况下两者都可以,但可以以名称开头
标签: javascript arrays reactjs ecmascript-6