у вас была ошибка в вашем коде, как вы использовали event.currentTarget.id , но вы должны использовать event.target.value .
Однако, когда в раскрывающемся списке есть один элемент, он не называется handleChange, когда вы щелкаете по нему, потому что handleChange является событием onChange. Если у вас есть один элемент, вы не можете изменить элемент, так как он есть только один, поэтому событие onChange не вызывается. Вместо этого вы можете добавить еще один элемент, например «Пожалуйста, выберите», затем вы можете выбрать свой отдельный элемент. Пожалуйста, проверьте этот пример:
import React, {useEffect, useState} from "react";
import TextField from "@material-ui/core/TextField";
function TextFieldDDL() {
const [selected, setSelected] = useState();
const departments=[
{id: -1, department: 'Please Select...'},
{id: 1, department: 'CSE'},
// {id: 2, department: 'BBA'},
// {id: 3, department: 'EEE'}
];
function handleChange(e){
console.log(e.target.value, 'e');
setSelected(e.target.value);
}
return (
<React.Fragment>
<TextField
fullWidth
label="Select Department"
margin="dense"
name="departments"
onChange={handleChange}
required
select
// eslint-disable-next-line react/jsx-sort-props
SelectProps={{native: true}}
value={selected}
variant="outlined"
>
{departments.map(option => (
<option
key={option.id}
value={option.id}
>
{option.department}
</option>
))}
</TextField>
</React.Fragment>
);
}
export default TextFieldDDL;
Обновление: Добавить элемент в список
const departments = [{id: -1, department: 'Please Select...'}, ...response.data];
setDepartments(departments);