在 space 上响应 select v2 按 select 的第一个值

React select v2 on space press selects first value

当我在 Select 字段上点击 space 时,正在选择选项中的第一个值。如何禁用此类行为?

<Select
  ref={r => (this.selectRef = r)}
  className="basic-single"
  classNamePrefix="select"
  onInputChange={val => {
    console.log('va', val)
    this.setState({ inputValue: val })
    }}
  inputValue={this.state.inputValue}
  options={[{ value: 'aaa', label: 'aaa bbb' }, { value: 'bbb', label: 'bbb ccc' }]}
  name="color"
/>

HERE IS A DEMO

我建议使用 onKeyDown 道具并在使用击中 space 栏时阻止操作,因此不会选择任何内容。

<Select
   ref={r => (this.selectRef = r)}
   className="basic-single"
   classNamePrefix="select"
   onInputChange={val => {
     this.setState({ inputValue: val });
   }}
   onKeyDown={e => {
     if (e.keyCode === 32 && !this.selectRef.state.inputValue) e.preventDefault();
   }}
   inputValue={this.state.inputValue}
   options={[
     { value: "aaa", label: "aaa bbb" },
     { value: "bbb", label: "bbb ccc" }
   ]}
   name="color"
 />

直播example here.