React-Select:defaultValue属性中的多个值

问题描述 投票:0回答:2

我试图在我的defaultValue属性中添加多个值但没有成功。

<Select 
   value={this.state.selectedTests} 
   defaultValue={this.getDefaultValues(this.props.tests)} 
   isMulti onChange={(e) => this.handleChange(e)} 
   options={this.state.allTests} 
   className="basic-multi-select dropDownSelector"
 />

getDefaultValues()返回一个数组:

0:{value: "t1", label:"Test1"}
1:{value: "t2", label:"Test2"}

但Select元素没有显示标签......

其他人遇到同样的问题或知道如何解决这个问题?

谢谢您的帮助!

javascript reactjs react-select
2个回答
1
投票

我解决了我的问题:)属性“value”中的值覆盖了属性“defaultValue”中的值。我删除属性“值”,它现在有效。

更改的代码:

<Select 
   defaultValue={this.getDefaultValues(this.props.tests)} 
   isMulti onChange={(e) => this.handleChange(e)} 
   options={this.state.allTests} 
   className="basic-multi-select dropDownSelector"
 />

0
投票

您应该只在defaultValue prop中提供值。标签位于选项prop中。它将使用您在选项道具中提供的道具匹配正确的值。方法getDefaultValues()应该返回:

0: "t1",
1: "t2"
© www.soinside.com 2019 - 2024. All rights reserved.