Github repo :react-select

在选择框中搜索后:

reactjs - react-select如何在显示 'no results found'时以编程方式隐藏下拉菜单?-LMLPHP

键入下拉列表和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类型是一个函数。

09-25 16:22
查看更多