TypeError:React Select输入控件上的event.target

问题描述 投票:0回答:3

[尝试使用React Select节点模块程序包在Change上更改状态,如果它可以正常输入文本,但不能完全正常工作,则返回“ TypeError:event.target未定义”。

仅输入重要的代码,而不是整页。


class App extends Component {
  constructor(props) {
    super(props);
    this.state = {
      value: "15",
      options: [
        { label: "Sup", value: "18" },
        { label: "Sup", value: "18" },
        { label: "Sup", value: "18" },
        { label: "Sup", value: "18" }
      ]
    };

    this.stateChange = this.stateChange.bind(this);
  }

  stateChange = event => {
    console.log(event.target.value);
    // this.setState({ value: event.target.value });
  };

  render() {
    const Home = () => {
      return (
        <Provider store={store}>
              <div className="categories">

                <Select
                  options={this.state.options}
                  onChange={this.stateChange}
                />

              </div>
javascript reactjs
3个回答
1
投票

[如果您使用的是react-select库,则看起来Select组件的onChange道具实际上只会为您提供选定的项目,而不是事件:

stateChange = selectedOption => {
  console.log(selectedOption);
  this.setState({ value: selectedOption });
};

0
投票

尝试一下:

stateChange = selectedOption => {
    console.log(`Option selected:`, selectedOption);
    this.setState({ value: selectedOption });
    // with React-Select, selectedOption is a value of option, not an event
};

0
投票

反应选择onChange直接为您提供值,而不是event,因此您可以简单地使用它,

stateChange = value => {
  console.log(value);
  this.setState({ value: value });
};

React select docs

© www.soinside.com 2019 - 2024. All rights reserved.