【发布时间】:2018-08-30 07:06:52
【问题描述】:
我正在使用 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});
}
};
【问题讨论】:
-
可能你没有正确更新状态
-
选择它后会返回一个包含选定对象的数组,因此更新状态一切正常。 react-select 组件的工作方式与文档中描述的不同。
-
那么你必须仔细检查完整的文档,你可能错过了一些愚蠢的事情
-
Actual documentation 我很确定我没有错过任何东西,因为没有什么可错过的,该组件对我来说工作方式不一样。
-
@AmruthLS 你是对的,事件处理程序是问题所在,当我需要将整个事件(带有对象的数组)存储到状态时,我只存储了事件的值。但是他们应该在文档中提到它,因为我认为它会返回与常规 material-ui select 相同的事件。
标签: reactjs material-ui react-select