Как остановить автофокусировку на пунктах меню Mui

Я реализую функцию поиска внутри специального компонента Mui Select. Идея заключается в том, что пользователь может начать вводить город или страну, и список опций будет отфильтрован. Проблема в том, что как только пользователь вводит букву, которая также является первой буквой параметра, параметр автоматически фокусируется, а текстовое поле размывается. Как мне это решить?? Я попробовал autoFocus = {false} для пункта меню, но это не помогло. Текущий код:

      <div>
        <StyledButton
          aria-controls = "location-select-menu"
          aria-haspopup = "true"
          aria-expanded = {anchorEl ? 'true' : 'false'}
          onClick = {handleOpen}
          endIcon = {<KeyboardArrowDownIcon />}
          theme = {theme}
          disableRipple
          clicked = {clicked.toString()}
        >
          {t('location')} {cities.length > 0 ? `(${cities.length})` : ""}
        </StyledButton>
        <StyledMenu
          id = "search-location-menu"
          anchorEl = {anchorEl}
          open = {Boolean(anchorEl)}
          onClose = {handleClose}
          anchorOrigin = {{
            vertical: 'bottom',
            horizontal: 'left',
          }}
          transformOrigin = {{
            vertical: 'top',
            horizontal: 'left',
          }}
          autoFocus = {false}
        >
          <ListSubheader sx = {{ height: "45px" }}>
            <Grid container justifyContent = "space-between">
              <Grid item xs = {1}>
                <SearchIcon fontSize = {16} />
              </Grid>

              <Grid item xs = {7}>
                <BorderlessTextField
                  id = "search-location"
                  variant = "standard"
                  size = "small"
                  InputProps = {{
                    disableUnderline: true,

                  }}
                  value = {searchValue}
                  onChange = {handleSearchChange}
                />
              </Grid>
              <Grid item xs = {4}>
                <CityOrCountrySelect
                  handleChangeEventCountryOrCitySelected = {handleChangeEventCountryOrCitySelected}
                  countryOrCitySelected = {countryOrCitySelected}
                />
              </Grid>
            </Grid>
          </ListSubheader>
          <hr />
          {
            filteredSearchOptions?.map((option) => (
              <MenuItem

                key = {option.value}
                selected = {isCity ? cities.includes(option.value) : country === option.value}
                onClick = {(event) => handleClick(event, option.value)}
              >
                {option.label}
              </MenuItem>
            ))
          }
        </StyledMenu>
      </div>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать компонент Автозаполнение по вашему требованию.

Я хотел взглянуть на этот компонент, но не осознавал, что это функциональность. Большое спасибо!

HubertBlu 20.04.2024 15:42

Другие вопросы по теме