【发布时间】:2018-03-26 12:23:06
【问题描述】:
我有一个返回数据的 API 调用,我可以看到我以正确的方式返回选项,但由于某种原因,我无法让 React Select 显示选项。有什么我遗漏的吗?
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
})
})
}
据我所知,groups 数组(在搜索时)返回为
[
{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}
/>
我确定这就是我返回数据的方式,但不确定哪里出了问题以及我需要更正什么格式。任何帮助将不胜感激。
【问题讨论】:
-
试试
return UserGroups.getUserGroups(..。 -
@Oblosys,我刚刚为此浪费了 2 个小时。应该只是退后一步再看一眼。非常感谢您指出了这个明显的缺陷。你能把这个作为答案让我接受吗?
标签: javascript reactjs react-select