React-select.Async 不会在 onClick 上加载选项

Sim*_*s.B 5 reactjs react-select

我需要一个异步反应选择,它将从后端加载选项,用户将能够选择多个选项。但是,当 inputValue 已经被输入并且用户点击选择输入选项时不会被加载。只有在您输入内容时才会加载它们。

示例代码沙箱

输入值保持不变

编辑:回答

要重新加载默认选项,您需要将 defaultOptions 传递给 Async select,而不仅仅是 true。这可以通过在 componentDidMount 中将 defaultOptions 设置为 state 并在 onInputChange 中监听“menu-close”操作并将 defaultOptions 设置为在那里进行设置来完成。这将确保在安装组件时 defaultOptions 将在那里,并且当菜单关闭时,将使用新的 inputValue 重新获取选项。

Ste*_*des 8

要让反应选择自动加载内容,您必须提供defaultOptionsprop。如果您不自动加载,那么在它们尝试过滤之前,它不会进行异步调用。

<AsyncSelect loadOptions={myAsyncMethod} defaultOptions />
Run Code Online (Sandbox Code Playgroud)


Sim*_*s.B 4

要重新加载默认选项,您需要将 defaultOptions 传递给异步选择,而不仅仅是 true。这可以通过在 componentDidMount 中设置 defaultOptions 并在 onInputChange 中侦听“菜单关闭”操作并将 defaultOptions 设置为其中的状态来完成。这将确保当组件安装时,defaultOptions 将在那里,并且当菜单关闭时,将使用新的 inputValue 重新获取选项。

工作示例