Как отобразить переменную состояния в реагировать на выбор? - PullRequest
0 голосов
/ 01 мая 2019

Как включить с тем же объектом в опциях

<Select
      options={this.state.materialunit.map(obj => {return({value: obj.materialunitID, label: obj.unitName + ': ' + obj.materialName})})}
      onChange={e => this.setState({unitPrice: obj.unitPrice })}
/>

1 Ответ

1 голос
/ 01 мая 2019

Для построения опций реагирования выберите, я бы предложил переместить логику в метод.Таким образом, код будет выглядеть следующим образом:

onSelectMaterialUnit(selectedMaterialunit){
  //store selected option in state
  this.setState({selectedMaterialunit})

}
materialUnitOptions(){
  return this.state.materialunit.map(materialUnit => (
    {
      value: materialUnit.materialunitID,
      label: `${materialUnit.unitName}:${materialUnit.materialName}`
    }
   )
}


render(){
  return(

    <Select
       value={this.state.selectedMaterialunit}
       onChange={this.onSelectMaterialUnit}
       options={this.materialUnitOptions()}
     />

 )
}

Кроме того, если вы хотите передать параметры напрямую без отображения метки и значений, вы можете установить valueKey и labelKey в реагировать на выбор v1 и v2Вы можете использовать getOptionLabel и getOptionValue методы соответственно.Надеюсь, это поможет. Документация здесь

...