У меня есть два входа <select>
. Я хочу установить атрибут как «отключить» один из них с определенным значением, а другой - <select>
.setState при изменении значения на <select>
Первый:
<select ref="selectOption">
<option selected value="1" >Option 1</option>
<option value="2" >Option 2</option>
</select>
<select ref="selectTime" disabled={this.state.disabled}>
<option value="a" >January</option>
<option value="b" >Febreaury</option>
</select>
Итак, моя идея состоит в том, чтобы установить состояние 2 <select>
как ложные, когда значение параметра = 2 из первого <select>
Как я могу это сделать ? Или есть другой способ, не отреагировав, что я могу это сделать? или с реквизитом? Я довольно смущен. Я попытался сделать что-то вроде:
var option= ReactDom.findDOMNode(this.refs.selectOption).value;
if(option == '2') this.setState({disabled:true});
Но это не работает. Попробовал поместить его в componentDidUpdate, но компонент не обновляется, когда я выбираю новое значение из выбранного, так что это не сработает. Идеи, пожалуйста.
EDIT:
У меня также есть это решение с JQuery, но я хочу использовать Reactjs.
$('#selectOption').change(function() {
$('#selectTime').prop('disabled', false);
if ($(this).val() == '2') {
$('#selectTime').prop('disabled', true);
}
})
Я очень путать о том, как использовать ReactDom.findDOMNode (this.refs.selectOption) вместо этого JQuery селекторов
Спасибо. Этот ответ и @ rob-m я пытался найти. Я выберу этот ответ как правильный, потому что был первым. – pmirnd