Я использую компонент для ввода Input Select Select SelectInput.Передача значения от дочернего к родительскому без onChange response
Вот мой код:
'use strict'
import React from 'react'
class SelectInput extends React.Component{
constructor(props){
super(props);
this.state = {
select: "",
items: []
}
this.handleChange = this.handleChange.bind(this)
}
.
.
.
handleChange(event){
console.log(event.target.value)
this.setState({
select: event.target.value
});
if(this.props.onChange) {
this.props.onChange(event)
}
}
render(){
let disabled = this.state.items.length > 1 ? false : true,
selected = this.state.items ? this.state.items[0] : ""
return (
<select name={this.props.name} disabled={disabled} defaultValue={selected} value={this.state.select} onChange={this.handleChange}>
{this.state.items && this.state.items.map(item =>
<option value={item} >{item}</option>
)}
</select>
)
}
}
Моя проблема в том, когда мой выбор есть только один вариант, я отключить выбрать и вставить значение по умолчанию. Но я не получаю значение события onChange для передачи родительскому компоненту.
Как это сделать?
Заранее спасибо
если отключить элемент? почему вы, кроме события изменения? и почему вы отключите элемент? почему пользователь будет взаимодействовать с отключенным элементом? –
Я отключу элемент, потому что компонент имеет только один клиент, и этот компонент знает этого клиента. У меня есть список стран, но на данный момент у меня есть только одна страна. Итак, почему я включу выбор? И если у меня есть два или более элемента и установить значение по умолчанию для первого элемента списка, как передать этот элемент в родительский компонент, если я не изменил выбор? –
, в этом случае вы можете вызвать 'handleChange()' при рендеринге, если нет элементов 1. Поскольку пользователь никак не может взаимодействовать с элементом. –