简体   繁体   English

在空间上按React Select v2按选择第一个值

[英]React select v2 on space press selects first value

When on Select field I hit space, first value from options is being selected. 在“选择”字段中,当我按下空格时,将从选项中选择第一个值。 How to disable such behaviour? 如何禁用这种行为?

<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 这是一个演示

I would suggest to use the onKeyDown props and prevent the action when the use hits the space bar so nothing will be selected. 我建议使用onKeyDown道具,并在使用击中空格键时阻止该动作,因此不会选择任何内容。

<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"
 />

Live example here . 这里的例子

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM