在 react-select 中传递 "event"
Passing "event" in react-select
根据 react-select (https://github.com/JedWatson/react-select) 中的文档,有一个 属性 接受带有两个参数(值、事件)的函数。我需要获得 事件 。我是不是做错了什么?
需要状态
当量
class App extends Component {
state = {
firstValue: "",
secondValue: ""
};
handleChange = (value, state) => {
this.setState({ [state]: value });
};
render() {
return (
<Select
name="form-field-name"
value={this.state.value}
onChange={(value) => this.handleChange(value, "firstValue")}
options={[
{ value: "one", label: "One" },
{ value: "two", label: "Two" }
]}
/>
<Select
name="form-field-name"
value={this.state.value}
onChange={(value) => this.handleChange(value, "secondValue")}
options={[
{ value: "one", label: "One" },
{ value: "two", label: "Two" }
]}
/>
);
}
}
在2.0.11及以上的版本中,使用相同的功能为每个Select更新你的状态,你可以这样做:
class MyComponent extends Component{
state={
firstSelect: null,
secondSelect: null
}
handleSelectChange = (selectedOption, { name }) => {
this.setState({ [name]: selectedOption.value });
}
render() {
return (
<>
<Select name="firstSelect" onChange={this.handleSelectChange} {...}/>
<Select name="secondSelect" onChange={this.handleSelectChange} {...}/>
</>
)
}
}
根据 react-select (https://github.com/JedWatson/react-select) 中的文档,有一个 属性 接受带有两个参数(值、事件)的函数。我需要获得 事件 。我是不是做错了什么?
需要状态 当量
class App extends Component {
state = {
firstValue: "",
secondValue: ""
};
handleChange = (value, state) => {
this.setState({ [state]: value });
};
render() {
return (
<Select
name="form-field-name"
value={this.state.value}
onChange={(value) => this.handleChange(value, "firstValue")}
options={[
{ value: "one", label: "One" },
{ value: "two", label: "Two" }
]}
/>
<Select
name="form-field-name"
value={this.state.value}
onChange={(value) => this.handleChange(value, "secondValue")}
options={[
{ value: "one", label: "One" },
{ value: "two", label: "Two" }
]}
/>
);
}
}
在2.0.11及以上的版本中,使用相同的功能为每个Select更新你的状态,你可以这样做:
class MyComponent extends Component{
state={
firstSelect: null,
secondSelect: null
}
handleSelectChange = (selectedOption, { name }) => {
this.setState({ [name]: selectedOption.value });
}
render() {
return (
<>
<Select name="firstSelect" onChange={this.handleSelectChange} {...}/>
<Select name="secondSelect" onChange={this.handleSelectChange} {...}/>
</>
)
}
}