遇到两个具有相同键“ [object Object]”的孩子

时间:2019-06-12 17:51:53

标签: javascript reactjs filter key

我遇到以下错误:遇到两个具有相同密钥[object Object]的孩子

我有以下称为城市的数组:

[
{ 'city' : `AIRDRIE`, 'province' : 'AB' }, 
{ 'city' : `ALBERTA BEACH`, 'province' : 'AB' }, 
{ 'city' : `ATHABASCA`, 'province' : 'AB' }, 
{ 'city' : `BANFF`, 'province' : 'AB' }, 
{ 'city' : `BARRHEAD`, 'province' : 'AB' }, 
{ 'city' : `BEAUMONT`, 'province' : 'AB' }, 
{ 'city' : `BLACKFALDS`, 'province' : 'AB' },
... 
]

现在我要过滤数组:

const optionsCity = cities.filter(( {province} ) => {
  return province === this.state.province
})

在我尝试打开我的下拉菜单之前它可以正常工作。.我收到错误消息:遇到两个具有相同键[object Object]

的孩子

我的下拉菜单是react-dropdown,这是代码:

<Dropdown 
    options={optionsCity} 
    onChange={this.updateCity.bind(this)} 
    value={this.state.city} 
    placeholder="Select a City" /> 

这是我的updateCity

  updateCity(city) {
    this.setState({city: city.name})
  }

任何人都知道如何解决? 对不起,我的英语不好。

谢谢!!

1 个答案:

答案 0 :(得分:0)

基于https://github.com/fraserxu/react-dropdown,如果您使用选项的对象数组,则需要将其设置为具有键-“值”和“标签”的特定格式

{ value: 'one', label: 'One' }

过滤器返回一个对象数组,而不仅仅是城市名称数组。 您将需要使用上述键创建一个新的对象数组,或者仅使用城市名称的平面数组