在输入字段中输入内容时如何过滤列表?

用户5711656

我试图像在autocomplete。那样输入字段时过滤我的字段。我确实喜欢这样,但它不过滤我的列表

这是我的代码

 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内应用过滤器,但如果可能以后要添加其他过滤器,我宁愿“以后”使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在用户在文本输入中输入内容时过滤DIV

在iframe中输入内容时如何显示输入?

jQuery仅在输入字段中输入内容时才添加新字段

使用CSS 3在div中输入内容时扩展搜索输入字段

无法使用 Puppeteer 在输入字段中输入内容

当我在下面的代码中在jQuery中输入内容时,如何过滤复选框?

如何创建多版本jar并过滤输入内容?

在文本字段中输入内容时更新/运行代码[Swift / iOS]

在Angular 2中快速键入内容时,带有验证的输入字段会崩溃

如何基于用户输入在Java fx中创建对象(用户在文本字段中输入内容,创建事件)

Dart // Flutter:如何根据输入内容从列表中删除项目

更改输入内容时如何添加JavaScript操作?

如何使:: before标记仅在输入内容时出现?

用户每次输入内容时如何运行脚本?

当用户在其中输入内容时,为输入字段事件设置占位符动画

用户开始在输入框中输入内容时,如何使用AngularJS加载新页面

在输入框中输入内容或单击内容时遇到问题[反应]

通过按Tab键将焦点放在输入内容上时如何取消选择输入内容?

动态添加输入字段并跟踪输入内容

输入内容的slice()

如何返回输入内容-JavaScript / React

如何实时检查输入内容

查询 | 如何复制输入内容?

输入输入内容时,如何限制对后端的md-autocomplete调用?

每次我在输入中输入内容时都会调用 setState

在输入字段中键入内容时,$(event.target).attr('href')消失

如何清除Angular中过滤的输入字段?

当有人仅使用 PHP 和 HTML 在表单中输入内容时,如何创建新的表格行?

如果在输入中写入内容时单击按钮后显示数据,我该如何解析数据