Sam*_*ook 5 javascript reactjs react-select
我有一个返回数据的 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
})
})
}
Run Code Online (Sandbox Code Playgroud)
从我可以看到的groups数组是(在搜索时)返回为
[
{value: 1, label: "Admins"}
{value: 22, label: "Asset Group"}
{value: 2, label: "Read-only"}
]
Run Code Online (Sandbox Code Playgroud)
但是,搜索框会因“正在加载...”消息而暂停,而加载微调器会保持不变。我可以看到 API 已返回,但未显示任何选项。
这就是我如何实施Select我缺少的选项吗?我都试过valueKey,labelKey但都不适合我。
<Select.Async
multi={true}
onChange={this.onChange}
loadOptions={this.searchGroups}
value={this.state.value}
/>
Run Code Online (Sandbox Code Playgroud)
我确定这是我返回数据的方式,但不确定这是哪里出了问题以及我需要纠正什么格式。任何帮助将不胜感激。
问题是return之前失踪了UserGroups.getUserGroups(..。这导致异步代码被执行并显示在网络日志中,但结果不会到达Select.Async. 如果调用returnsreact-select时会给出错误,那就太好了,但在这种情况下,它假设将使用回调来提供结果。loadOptionsundefined
| 归档时间: |
|
| 查看次数: |
2731 次 |
| 最近记录: |