我想使用React Select库,以便用户可以选择一个选项。 API服务器存储可用选项。 API请求参数是一个前缀,服务器将使用与给定前缀匹配的选项列表(字符串数组)进行响应。
所以我正在使用异步组件。由于服务器使用字符串数组进行响应,因此我将组件的道具getOptionValue
和getOptionLabel
定义为{d => d}
。
菜单中的标签按预期显示,但是问题是当我选择某个选项时,菜单仅关闭并且似乎没有选择任何选项。
您可以在https://codesandbox.io/s/reactcodesandboxerexample-j1xxh中看到此行为,代码在文件example.js
中。创建Promise代替了API请求。
我尝试将获取的选项映射到具有属性value
和label
的对象,以便不必覆盖getOptionValue
和getOptionLabel
,但是这种映射需要一个时间很长(几秒钟),因为获取的选项数以千计。
有人知道如何在React Select中解决此错误行为,以便可以看到所选的选项吗?