Github repo :react-select
在选择框中搜索后:
键入下拉列表和Enter中未包含的文本后,按。我想隐藏下拉框。
我的实现:
<Select
ref={ input => this.input = input }
name="form-field-name"
searchable
autoBlur
clearable={false}
openOnFocus
onInputKeyDown={this.onInputKeyDown.bind(this)}
value={this.state.selectedOption}
onChange={this.handleChange.bind(this)}
options={this.props.items}
/>
使用
onInputKeyDown
我正在检测输入 key 代码。当显示“未找到结果”时,如何删除那里的下拉菜单?onInputKeyDown(e) {
if (e.keyCode === keys.ENTER) {
console.log('on input key down');
// How to detect 'No results found' shown?
// And then, how to close the dropdown?
}
}
最佳答案
在V2中,您可以通过将noOptionsMessage
设置为返回null
的函数来实现此目的:
<Select noOptionsMessage={() => null}/>
这将阻止后备选项完全显示。请注意,直接将
noOptionsMessage
设置为null
会导致错误,此处所需的prop类型是一个函数。