React Select: асинхронный с getOptionValue - PullRequest
0 голосов
/ 26 мая 2019

Я хотел бы использовать библиотеку 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, чтобы я мог видеть выбранную опцию?

...