import { Form } from 'react-bootstrap'
const nameArray = [
{
"id": 52655,
"firstName": "raj",
"lastName": "",
"primaryAddress": "sad"
},
{
"id": 52656,
"firstName": "SubbaRaju",
"lastName": "ch",
"primaryAddress": "kphb"
},
{
"id": 52667,
"firstName": "Ravi",
"lastName": "Varma",
"primaryAddress": "Hyderabad"
}
]
export default class File extends Component {
constructor(props) {
super(props);
this.state = {
object: {
name: "",id:0
}
}
}
nameChange = (value) => {
console.log(value)
for(let i=0 ; i < nameArray.length; i++){
if(value = nameArray[i].id){
this.state.object.name = nameArray[i].firstName
this.state.object.id = nameArray[i].id
}
}
this.setState({object:this.state.object})
}
render() {
return (
<div>
<Form>
<Form.Group>
<Form.Label className="Font">Name</Form.Label>
<Form.Control
value={(this.state.object.name) ? this.state.object.name : -1}
onChange={(e) => this.nameChange(e.target.value)}
className="Inputstyle"
as="select"
>
<option disabled value={-1} key={-1}>select</option>
{nameArray.map(list =>
<option key={list.id} value={list.id}>{list.firstName}</option>)}
</Form.Control>
</Form.Group>
</Form>
</div>
)
}
}
- Значение сохраняется в состоянии, но значение имени не отображается в форме выбора.
- Если я попытаюсь изменить значение параметра на «list.firstname». Я получаю отображаемое значение, но функция onchange дает мне имя вместо идентификатора. Мне нужен идентификатор, чтобы выбрать точную запись.