не могу передать id из
const Menu = ()=>{
const [item, setItem]=useState(JSON.parse(localStorage.getItem('index')))
const onStatusChange =(id,e)=>{
console.log(id)
console.log(e.target.value)
}
return(
<select className='menu' defaultValue={item.status} onChange={(e)=>onStatusChange(item.id, e)}>
{item.map((item, index) => (
<option key={index}> {item.item}</option>
))}
</select>
)
}
в консоле вместо id undefined, а вот item приходит
Ответы (1 шт):
Автор решения: SwaD
→ Ссылка
Что бы получить id, его необходимо записать в атрибуте тега option
const Menu = () => {
const [item, setItem] = useState(JSON.parse(localStorage.getItem('index')))
const onStatusChange = (e) => {
console.log(e.target.value)
console.log(e.target[e.target.selectedIndex].text)
}
return (
<select className='menu' defaultValue={item.status} onChange={onStatusChange}>
{item.map((item, index) => (
<option key={index} value={item.id}>{item.item}</option>
))}
</select>
)
}
Использование onChange={(e)=>onStatusChange(item.id, e)} неправильно, т.к. item это массив и у него нет свойства id