如何为反应选择异步设置defaultValue而不是在onBlur v2.0.0时重置?

时间:2018-05-09 03:00:15

标签: reactjs react-select

我尝试应用react-select来创建像the demo这样的异步选择, 并希望为输入添加默认值 如下所示,onBlur时默认值将被清除,因为onBlur将默认触发具有空值的handleInputChange事件。
我想这可能是某种默认设置,例如'onBlurResetsInput', 但'onBlurResetsInput'道具已于v2.0.0删除。 所以想知道如何防止onBlur重置,谢谢。

import Async from 'react-select/lib/Async';
export class AsyncSelect extends React.PureComponent {
  state = {
    inputValue: this.props.defaultValue,
  }

  handleInputChange = (value) => {
      this.setState({
        inputValue: value,
      });
      this.props.syncOptions(value);
  }

  render() {
    return (
        <Async
          inputValue={this.state.inputValue}
          onInputChange={this.handleInputChange}
          options={this.props.options}
          onChange={(option) => this.props.selectOption(option.value)}
        />
    );
  }
}

2 个答案:

答案 0 :(得分:0)

您尝试过defaultInputValue={this.state.inputValue}吗?您可以详细了解here

答案 1 :(得分:0)

看到这个...
https://github.com/JedWatson/react-select/issues/2877
基本上,您必须拥有一个将使用默认选项填充的状态,然后在输入更改时将其添加到此状态(如果使用多选),或者在输入更改时将其替换为状态(如果使用单选)