Скорее всего, вы захотите использовать реагировать на выбор
Вы можете передавать опции в select (которые будут вашими именами), и он будет возвращать значения, которые соответствуют тому, что вы вводитев строке поиска.
import Select from 'react-select'
const options = [
{ value: 'mike', label: 'Mike' },
{ value: 'john', label: 'John' },
{ value: 'vanessa', label: 'Vanessa' }
]
const MyComponent = () => (
<Select options={options} />
)
Таким образом, вы можете взять этот пример и примеры в ссылке и вставить его в свой код:
import Select from 'react-select'
<Container>
<RowContainer margin="1px" >
<ColumnContainer margin="10px">
<h3>Info</h3>
<label>Codigo</label>
<Input
width='150px'
type="text"
placeholder="Digite el codigo"
value={data.codigo } ref="codigo" />
<label>Nombre</label>
<Select
value={this.state.nameValue}
onChange={event => {this.setState({nameValue: e.value})}
options={options} />
</ColumnContainer>
</RowContainer>
</Container>
При использовании onChage возвращаетсяevent
, который имеет значение выбранного имени.Вы можете использовать это, чтобы установить nameValue состояния, а затем использовать это значение имени в остальной части вашего компонента.
После того, как вы запустите это, также стоит посмотреть на async select , который позволяет вам предоставить асинхронную функцию, которая возвращает значения (например, ваша getInfo
функция)
- edit -
Если вы хотитечтобы определить событие onChange в другом месте, оно будет выглядеть следующим образом:
handleChange = event => {
// event.value will be the value of the select
this.setState({optionSelected: event.value});
}
, а затем в вашем onChange скажите, что это функция, которую вы хотите, но не не вызывает ее (ненаписать в скобках):
<Select
value={this.state.optionSelected}
onChange={this.handleChange}
options={options} />