Javascript 反应选择异步选项不显示
我有一个API调用,它正在返回数据,我所能看到的最好结果是,我正在以正确的方式返回选项,但由于某些原因,我无法让React Select显示选项。有什么我遗漏的吗Javascript 反应选择异步选项不显示,javascript,reactjs,react-select,Javascript,Reactjs,React Select,我有一个API调用,它正在返回数据,我所能看到的最好结果是,我正在以正确的方式返回选项,但由于某些原因,我无法让React Select显示选项。有什么我遗漏的吗 searchGroups(searchString){ if(!searchString) return Promise.resolve({ options: [] }); UserGroups.getUserGroups(searchString).then((res) => { let group
searchGroups(searchString){
if(!searchString) return Promise.resolve({ options: [] });
UserGroups.getUserGroups(searchString).then((res) => {
let groups = [];
groups = res.groups.map((d) => ({
value: d.group_ID,
label: d.group_name
}))
return {options: groups};
}, (e) => {
this.setState({
searchError: e.message
})
})
}
我可以看到组数组(在搜索时)返回为
[
{value: 1, label: "Admins"}
{value: 22, label: "Asset Group"}
{value: 2, label: "Read-only"}
]
但是,搜索框将被挂起并显示“加载…”消息,加载微调器将保持不变。我可以看到API已返回,但没有显示任何选项
这就是我如何实现Select
的方法是否缺少一个选项?我尝试了valueKey
和labelKey
两种方法,但两种方法都不适用于我
<Select.Async
multi={true}
onChange={this.onChange}
loadOptions={this.searchGroups}
value={this.state.value}
/>
我确定这是我返回数据的方式,但不确定哪里出了问题,需要更正什么格式。任何帮助都将不胜感激。问题是UserGroups.getUserGroups之前缺少返回值(..
。这导致异步代码被执行并显示在网络日志中,但结果不会到达Select。异步
。如果react Select
在调用loadOptions
返回undefined
时会给出错误,那就好了,但在这种情况下,它假设将使用回调来提供result.尝试返回用户组。getUserGroups(..
@Oblosys,我已经为此浪费了2个小时。我应该退一步再看一看。非常感谢你指出了这个明显的缺陷。你能回答这个问题让我接受吗?