小编Mic*_*hal的帖子

onBlur 重置反应选择中的值

我的反应选择有问题。当我在可搜索输入中输入一些文本并单击外部时,我的文本消失了。我尝试过onBlur={() => input.onBlur({value: input.value})},它工作正常,但我在控制台中出现了丑陋的错误。就像是Uncaught ReferenceError: input is not defined

onChangeValue = (newValue) => {
  const inputValue = newValue.replace(/\W/g, '');
  this.setState({ inputValue });
  this.props.nameFilter(inputValue);
};

handleCloseMenu = () => {
  this.setState(({
    menuIsOpen: false,
  }))
  input.onBlur(input.value)
};

handleOpenMenu = () => {
  this.setState(({
    menuIsOpen: true,
  }))
  input.onBlur(input.value)
};

render() {
  return (
   <div className="container">
    <AsyncSelect 
      className="search-input"
      onFocus={this.handleOpenMenu}
      onBlur={this.handleCloseMenu}
      menuIsOpen={this.state.menuIsOpen}
      loadOptions={this.loadOptions}
      defaultOptions
      onInputChange={this.onChangeValue}
      placeholder="Search..."
    />
  </div>    
  )};
};
Run Code Online (Sandbox Code Playgroud)

有没有不使用 redux-form 的解决方法?

与这里相同的问题,但我没有使用 redux-form 并且这些解决方案不起作用。

onblur reactjs react-select redux

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

onblur ×1

react-select ×1

reactjs ×1

redux ×1