Blo*_*oss 1 reactjs react-select
我很开始reactJS和前端
我为我的下拉菜单添加了 react-select npm,如下所示,在添加 react-select 之前,一切正常。如何在Select中定义名称?
<div className="container">
<div className="row">
<div className="col-md-4" />
<div className="col-md-4">
<Select
options={this.state.allGenres}
onChange={this.props.onDataChange}
name="genre"
/>
</div>
<div className="col-md-4" />
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的数组,
var Data = response.data;
const map = Data.map((arrElement, index) => ({
label: arrElement,
value: index
}));
Run Code Online (Sandbox Code Playgroud)
例子:
[
{
"label": "Action",
"value": 0
},
{
"label": "Comedy",
"value": 1
},
{
"label": "Documentary",
"value": 2
}
]
Run Code Online (Sandbox Code Playgroud)
错误信息进来这里,
dataChange(ev, action) {
this.setState({
[ev.target.name]: ev.target.value
});
}
Run Code Online (Sandbox Code Playgroud)
使成为()
render() {
return (
<Movie
onPostData={this.postData.bind(this)}
onDataChange={this.dataChange.bind(this)}
/>
);
}
Run Code Online (Sandbox Code Playgroud)
错误
未捕获的类型错误:无法读取 Movies.dataChange 中未定义的属性“名称”
您希望react-select´sonChange方法中的第一个参数是一个event对象,但它不是。
第一个参数是选定的选项(或选项,如果您已isMulti设置)。还有一个object具有以下属性的第二个参数:
action: 触发变化的动作name:Select使用nameprop为组件指定的名称。因此,如果您想使用name:
onDataChange={(value, action) => {
this.setState({
[action.name]: value
})
}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4162 次 |
| 最近记录: |