我正在使用react-select进行可搜索的下拉菜单。在您真正选择一个选项之前,它工作正常,然后它只会引发Each child in an array or iterator should have a unique "key" prop.
错误,不会删除您选择的选项,也不会显示您到目前为止选择的内容。
我的选项是一个包含对象{value: crew.id, label: crew.code}
的数组,这是我的Select组件
<Select
isMulti
name='teamIdsFilter'
menuPosition='fixed'
options={crewOptions}
value={teamIds}
placeholder='Nepasirinktas'
onChange={event => this.handleTeamIdsSelect(event)} />
还有我的handleTeamIdsSelect事件处理程序
handleTeamIdsSelect = (event) => {
if (event) {
const selectedCrew = event.map(crew => crew.value);
this.setState({teamIds: selectedCrew});
}
};
答案 0 :(得分:0)
尝试使用multi代替isMulti。这样可以解决问题。
<BrowserRouter>
<div>
<Switch>
<PrivateRoute exact path="/" component={Artist} />
<Route exact path="/Login" component={Login} />
</Switch>
</div>
</BrowserRouter>
答案 1 :(得分:0)
尝试添加
multi = {true}
希望它能工作。
答案 2 :(得分:0)
检查
const changeSelect2 = (name,value)=>{
setFormState((preValue)=>{
return {
...preValue, // use spead sign for join
[name] : value // lec 43 // https://stackoverflow.com/questions/32515598/square-brackets-javascript-object-key
}
});
}
<Select options={crewOptions} onChange={(res)=>{changeSelect2('teamIdsFilter',res.value)}} name="teamIdsFilter" />
答案 3 :(得分:0)
试试这个:
this.state = {
isMulti:true,
};
<Select isMulti={this.state.isMulti}/>