如何在反应中重置选择下拉值

Sne*_*eke 1 javascript reactjs

我有一个 html 下拉选择控件,并且已将第一个选项值添加为Select. 还有其他几个选项可以从下拉菜单中选择。现在我想重置下拉值并将其设置回Select.

我如何在 React 中做到这一点?

这是我的代码

<select className="form-control" ref="Auditee" name="Auditee" onChange={this.handleChange.bind(this)}>
                <option>Select</option>
                {this.renderAuditee()}
              </select>
<button type="button" className="btn btn-primary" onClick={this.handleClear}>Clear</button>



renderAuditee(){
  let Auditeefiltered = this.state.review1data.map(element=> element.EEECPM).filter((value, index, self) => self.indexOf(value) === index)

  return Auditeefiltered.map(element=>
   <option>{element.toString().replace(/\[.*?\]/,'')}</option>
  )
}


handleClear(e){
 e.preventDefault();

    this.setState({
        filterData:[],
        filter: false
 });
Run Code Online (Sandbox Code Playgroud)

我不知道我应该如何重置选择下拉列表。任何帮助都会有所帮助

rav*_*l91 7

你的select应该是controlled

您需要有一个选定值的状态变量。

state ={
   selected:''
}
Run Code Online (Sandbox Code Playgroud)

受控选择应该是,

<select className="form-control" value={this.state.selected} name="Auditee" onChange={this.handleChange.bind(this)}>
    <option>Select</option>
    {this.renderAuditee()}
</select>
Run Code Online (Sandbox Code Playgroud)
handleChange = (e) => {
   this.setState({selected:e.target.value})
}
Run Code Online (Sandbox Code Playgroud)

最后清除选择,

handleClear = (e) => {
   this.setState({selected:""})
}
Run Code Online (Sandbox Code Playgroud)

演示