我的页面上有大量的select,我不想在每次加载页面时对所有这些调用发出API调用。当异步loadOptions组件初始化时,如何跳过react-select?
发布于 2018-04-03 02:38:52
根据文档,您似乎可以指定autoload={false}。来自文档
除非您指定属性autoload={false},否则该控件将在挂载时自动加载默认选项集(即输入:'')。
更新:
为了解决必须键入某些内容的问题,可以添加一个onFocus回调。这将触发时,反应-选择组件被点击或标签,而不是等待用户键入的东西。它看起来可能是这样的:
<ReactSelect
...otherProps
onFocus = { this.fetchData }
/>为了防止不断地重取数据,您可能需要跟踪数据是否已被取到某个状态。您可以将初始状态声明为fetched: false,然后在加载选项的函数中设置this.setState({ fetched: true })。最后,fetchData函数可以在请求新数据之前检查this.state.fetched。
发布于 2018-04-03 02:54:28
state= {option1:'', option2:'', option3:''}如果选项1已填写,则选择#2的值。
this.state.option1 && apicall for option 2().
如果选项2已填写,则选择#3的值。
this.state.option2 && apicall for option 3().
所有这些都可以在componentDidMount()中实现
这是假设当用户选择要在状态中存储该值的值时。
https://stackoverflow.com/questions/49621379
复制相似问题