我尝试应用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)}
/>
);
}
}
答案 0 :(得分:0)
您尝试过defaultInputValue={this.state.inputValue}
吗?您可以详细了解here。
答案 1 :(得分:0)
看到这个...
https://github.com/JedWatson/react-select/issues/2877
基本上,您必须拥有一个将使用默认选项填充的状态,然后在输入更改时将其添加到此状态(如果使用多选),或者在输入更改时将其替换为状态(如果使用单选)