2016-04-20 1 views
2

Рассмотрим следующий компонент:самозагрузки-DatePicker с React: OnChange не срабатывает в то время как OnClick делает

let Thing = React.createClass({ 
    componentDidMount: function() { 
    $(ReactDOM.findDOMNode(this.refs.date)).datepicker() 
    }, 

    myHandler: function() { 
    console.log('handling!'); 
    } 

    render: function() { 
    return (
     <div ref="date" className="input-group date pull-right"> 
     <input ref="myRef" type="text" className="form-control" 
       onChange={this.myHandler}/> 
     </div> 
    ); 
    } 
}); 

MyHandler() не вызывается при изменении значения текстового поля.

Вещь есть, если я заменил onChange на onClick и нажимаю на вход, myHandler делает fire, поэтому это не похоже на проблему контекста или что-то еще.

Почему нет onChange работы? Я использую Реагировать v0.14.3, самозагрузки-DatePicker v1.7.0-DEV

+1

Он отлично работает - https://jsfiddle.net/OriDrori/ c7p57pe9/1 /. Возможно, отсутствующая запятая после метода myHandler. –

+0

Этот код, конечно, упрощен, поэтому, возможно, я пропущу что-то в пути, но это не запятая. לעזאזל – Kludge

+0

לעזאזל Действительно. Удачи –

ответ

1

Попробуйте изменить функцию componentDidMount так:

componentDidMount: function() { 
    $(ReactDOM.findDOMNode(this.refs.date)).datepicker() 
    var _this = this; 
    $(ReactDOM.findDOMNode(this.refs.date)).on('changeDate', function(e) { 
    _this.handleChange(e); 
    }) 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^