gpt4 book ai didi

reactjs - 如何在使用输入字段键入时过滤列表?

转载 作者:行者123 更新时间:2023-12-03 13:25:29 25 4
gpt4 key购买 nike

我试图在输入字段中输入时过滤我的字段,如自动完成。我确实喜欢这个,但它不会过滤我的列表

这是我的代码

 onChangeHandler(e){
console.log(e.target.value);
var newArray = this.state.users.map((d)=>{
return d.indexOf(e.target.value) !== -1
});
console.log(newArray)
this.setState({
users:newArray
})
}

http://codepen.io/anon/pen/zNYGzb?editors=1010

最佳答案

你可以这样做:

class First extends React.Component {
constructor(){
super();
this.state ={
users: ['abc',"pdsa","eccs","koi"],
input: '',
}
}

onChangeHandler(e){
this.setState({
input: e.target.value,
})
}

render (){
const list = this.state.users
.filter(d => this.state.input === '' || d.includes(this.state.input))
.map((d, index) => <li key={index}>{d}</li>);

return (<div>
<input value={this.state.input} type="text" onChange={this.onChangeHandler.bind(this)}/>
<ul>{list}</ul>
</div>)
}
}

ReactDOM.render(<First/>,document.getElementById('root'));

这本质上是对您所拥有的内容的扩展,并且您所拥有的内容很接近。如果需要,您也可以选择在 changeHandler 中应用过滤器,但如果可能的话,我更喜欢“稍后”执行,以防您以后想添加其他过滤器或其他内容。

关于reactjs - 如何在使用输入字段键入时过滤列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41436253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com