Я хотел бы использовать библиотеку React Select, чтобы пользователь мог выбрать один вариант. Сервер API хранит доступные опции. Аргументом запроса API является префикс, и сервер отвечает списком опций (массив строк), соответствующих данному префиксу.
Итак, я использую компонент Async. Поскольку сервер отвечает массивом строк, я определяю реквизиты компонента getOptionValue
и getOptionLabel
как {d => d}
.
Метки в меню отображаются ожидаемым образом, но проблема в том, что когда я выбираю какую-либо опцию, меню просто закрывается, и никакая опция, кажется, не выбрана.
Вы можете увидеть это поведение в https://codesandbox.io/s/reactcodesandboxerexample-j1xxh, код находится в файле example.js
. Запрос API заменяется созданием Promise.
Я пытался сопоставить извлеченные параметры с объектами со свойствами value
и label
, чтобы мне не приходилось переопределять getOptionValue
и getOptionLabel
, но это отображение занимает огромное количество времени (несколько секунд) потому что количество извлекаемых опций может быть в тысячах.
Кто-нибудь знает, как я могу исправить это ошибочное поведение в React Select, чтобы я мог видеть выбранную опцию?