编辑表格的下拉菜单时出现此问题:TypeError:无法读取未定义的属性'name'

问题描述 投票:0回答:1

我想获得在表单中创建对象时插入的值。在我的情况下,我有一个称为person的JSON,它与国籍的关系为1:1。在我的情况下,一个人只有一个国籍。

以人的形式存在一个称为国籍的下拉列表,该列表使所有国籍都脱离了API的休息。

这是我可以在类Person中设置国籍和handleChangeInput方法的方法。

constructor(props){
  super(props);

  this.state = {
    nationality: props.nation.name
  };
};


onChange = (e) => {
  this.setState({
    nationality: e.target.value
  })
}

还有我的下拉列表在哪里:

<Field
   className="custom-select d-block w-100" name='nationality' }
   value={this.state.nationality} onChange={this.onChange.bind(this)}
   component="select" placeholder={!input.value ? 'Please, insert a
                                   nationality' : input.value}>

   <option value="" disabled hidden style={{fontStyle:
                                   'arial',fontWeight:'bold'}}>Please , insert a nationality</option>

   { this.props.listNationalities.map(nationalities => {

   return(
   <option key={nationality._id} value={nationality._id} style={{fontStyle:
                               'arial',fontWeight:'bold'}}>{nationality.name}</option>
   )
   })}

</Field>

我想要的是按以下顺序将国籍下拉列表分为4个国籍:1)中文,2)俄语,3)美国人,4)德语

[创建人时,请插入俄语作为人的国籍。并且在编辑人员创建的开信表格时,应以俄语出现,而不是下拉菜单中的第一个元素“ chinese”。

javascript reactjs redux redux-form
1个回答
0
投票
{ this.props.listNationalities.map(** nationalities ** => { return( <option key = { nationality._id } value = { nationality._id } style = {{ fontStyle: 'arial', fontWeight:'bold'}} > { nationality.name } < /option> ) })}

    在地图方法中,不使用“国籍”,请使用“国籍”
  1. 对于“正在编辑....”的问题,请检查所保存值的大小写。

© www.soinside.com 2019 - 2024. All rights reserved.