0

我的意图是使用 react-select 创建一个多选组件。我无法解决 react-select 的一个小问题。我需要将以下内容放在助焊剂商店中。

  1. 用户已经选择的值。这是通过valueArray属性传递的
  2. 要在选择列表中填充的值。这是通过options属性传递的

当用户在输入框中输入内容时,该输入值会使用onInputChange钩子捕获,这会引发一个通量操作,该操作会使用要填充的新值列表更新存储并发出change事件。现在的问题是,当change事件发出时,组件会使用选定的值和新的选项集重新渲染。发生这种情况时,用户为过滤选项键入的值会丢失(因为valueArray)会重新呈现。有什么方法可以在 react-select 中保留过滤器文本而不将选项移动到通量存储之外?

4

1 回答 1

1

存在两个可以存储状态的地方: * 在状态组件中 * 在商店中

对于这种具体情况,您可以将选定的值保存在 Component 状态并分配给 react-select 的 ve value prop。

onChange 函数: this.setState({value: whatTheUserIsWritting}); 反应选择组件: <Select value={this.state.value}/>

使用此解决方案,如果您重建组件,您将丢失状态。在这种情况下,您必须使用外部助焊剂存储。

于 2016-11-30T10:58:42.000 回答