Вам нужно использовать Автозаполнение вместо выбора, который выводит список доступных опций на основе нажатия клавиши. Это разметка из документации:
<div class="row">
<div class="col s12">
<div class="row">
<div class="input-field col s12">
<i class="material-icons prefix">textsms</i>
<input type="text" id="autocomplete-input" class="autocomplete">
<label for="autocomplete-input">Autocomplete</label>
</div>
</div>
</div>
</div>
Это компонент javascript, который необходимо инициализировать с помощью, и при инициализации вы можете передать необходимые данные:
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.autocomplete');
var instances = M.Autocomplete.init(elems, {
data: {
"United Kingdom": null,
"USA": null,
"Uruguay": null
},
});
});
FYI null - это необязательное изображение sr c - поэтому в вашем примере вы можете включить флаг страны:
"USA": '../img/usa.svg'
Существует ряд других полезных опций, которые вы можете передать - установить, сколько символов запускается в раскрывающемся списке, запустить функцию при выборе опции, ограничить количество одновременно отображаемых опций и т. д. c.
https://materializecss.com/autocomplete.html
Рабочая демонстрация Codepen здесь .