2016-05-17 46 views
0

我的意图是使用react-select创建一个多选部件。我无法解决反应选择的小问题。我需要在Flux Store中使用以下的东西。从磁通储存器填充反应选择选项

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

通过当用户键入的东西在输入框,该输入值是使用onInputChange钩捕获,这引起了哪些更新与价值观的新列表专卖店要助焊剂行动人口稠密并发出change事件。现在的问题是,当发出change事件时,组件会被重新渲染为选定的值和一组新选项。发生这种情况时,用户为过滤选项键入的值会丢失(因为valueArray)会被重新呈现。有没有办法在反应选择中保留过滤器文本,而无需移动通量存储器之外的选项?

回答

1

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

对于这个具体的例子,你可以保存在组件状态选定的值,并分配给五个值道具反应选择。

的onChange FUNC: this.setState({value: whatTheUserIsWritting}); 阵营选择组件: <Select value={this.state.value}/>

有了这个解决方案,如果您重建你会失去状态的组件。在这种情况下,您必须使用外部通量存储。