Javascript 反应选择2设定值/标签

Javascript 反应选择2设定值/标签,javascript,reactjs,react-select,Javascript,Reactjs,React Select,我正在使用react select 2并尝试在表单上设置值,该表单需要更新从服务器获取的一些数据 我尝试了以下解决方案: handleSelectChange(selectedOption){ this.setState({ selectedOption }); } const options = [ { value: 'Value 1', label: 'Value 1' }, { value: 'Value 2', label: 'Value 2' }, ] <Sele

我正在使用react select 2并尝试在表单上设置值,该表单需要更新从服务器获取的一些数据

我尝试了以下解决方案:

handleSelectChange(selectedOption){
 this.setState({ selectedOption });
}

const options = [
  { value: 'Value 1', label: 'Value 1' },
  { value: 'Value 2', label: 'Value 2' },

]

<Select
   options={options}
   onChange={(selectedOption)=>this.handleSelectChange(selectedOption)}
   autoFocus={true}
   value={options.find(option => option.value === data.valueTyppe)}

/>
handleSelectChange(selectedOption){
this.setState({selectedOption});
}
常量选项=[
{value:'value 1',标签:'value 1'},
{value:'value 2',标签:'value 2'},
]
this.handleSelectChange(selectedOption)}
自动对焦={true}
value={options.find(option=>option.value==data.valueTyppe)}
/>

通过使用此选项,无法更改选择输入中的(可视化)标签-选择时的值更改,但标签保持为data.ValueType定义的标签。

我认为您的问题来自不允许完全控制选择输入。选择输入的值应为组件状态值属性,与onChange calback相同

return(
      <Select
      options={options}
      onChange={this.handleSelectChange}
      autoFocus={true}
      value={this.state.selectedOption}
   />
返回(

试试这个工作

我用过这个解决方案,它对我很有效。 第一个值/标签对设置为on,在值===data.FacilityType(数据库中保存的字符串)的选项中定义

然后,它启用了选项更改,其中值/标签对也在Select中更新

<Select
  options={options}
  onChange={(selectedOption)=>this.handleSelectChange(selectedOption)}
  autoFocus={true}
  defaultValue={options.find(option => option.value === data.facilityType)}

/>
this.handleSelectChange(selectedOption)}
自动对焦={true}
defaultValue={options.find(option=>option.value===data.facilityType)}
/>

是的,一切正常,只是输入中的标签没有改变。如果所选选项是例如值1,当我将其更改为值2时,值会改变,因为我可以看到它保存在数据库中,但输入字段中的标签仍然是值1。您不打算将
所选选项
状态传递到
选择中的
道具中吗t
component?data.ValueType是从服务器获取的值。它是从对象的选项数组中保存的数据。我想在“选择输入”中将该值设置为默认值,然后能够从定义的选项之一更改该值。我设法更改了值,但输入中的标签没有更改。请注意,data.ValueType是字符串。谢谢您的帮助答案。但重点是设置从服务器获取的值。而不是使Selec工作。它正在工作,我知道如何配置它以供使用,但不知道如何将值设置为保存在数据库中的值,并能够更改选择并重新保存(更新)。:)您能提供完整的代码示例吗?不太清楚。