[尝试使用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>
[如果您使用的是react-select
库,则看起来Select
组件的onChange
道具实际上只会为您提供选定的项目,而不是事件:
stateChange = selectedOption => {
console.log(selectedOption);
this.setState({ value: selectedOption });
};
尝试一下:
stateChange = selectedOption => {
console.log(`Option selected:`, selectedOption);
this.setState({ value: selectedOption });
// with React-Select, selectedOption is a value of option, not an event
};
反应选择onChange
直接为您提供值,而不是event
,因此您可以简单地使用它,
stateChange = value => {
console.log(value);
this.setState({ value: value });
};