Всплывающее окно, которое вы видите, встроено в Браузер в соответствии со спецификациями html5.
Но чтобы ответить на ваш вопрос о том, как определить, выбран вариант или нет, вы можете либо реализовать эту функцию самостоятельно, либо используйте API компонента автозаполнения, который вы используете.
https://material-ui.com/api/autocomplete/
Здесь я вижу, что вы можете попробовать freeSolo
и getOptionSelected
. Если для freeSolo установлено значение false, ввод данных пользователем будет ограничен.
Также посмотрите на autoHighlight
и autoSelect
, так как это может привести к выбору опции.
Если вы хотите больше контролировать скорее, ваш вклад является одним из вариантов, а затем просто проверьте его самостоятельно.
const optionsObject = { optionKey1: true, optionKey2: true }
useEffect(()=> {
if(optionsObject[input]) {
// input is one of the options
} else {
// input is not one of the options
}
}, [input, optionsObject])
<Autocomplete
options={ Object.keys(optionsObject))
/>