是否有可能让React在失去对元素的关注后触发onChange
事件,而不是对keyUp
(目前,onChange
是操纵字段值的任何事件的抽象)?keyUp
对我来说有点慢,我认为它可能有助于我正在构建的移动体验,将射击切换到领域聚焦后。
你在找这样的东西吗?
JS小提琴
我可能不正确地解释了你的要求,但你应该能够通过e.target.value或通过使用ref来获得你的值,如:
<input type="text" ref="myValue" onBlur={this.handleChange} />
然后在你的handleChange函数中你会有这样的东西:
handleChange: function()
{
var theValue = this.refs.myValue.getDOMNode().value;
//setState, etc. here
}
您可以构建自己的组件来支持此行为,例如:
var ChangeOnBlurInput = React.createClass({
render: function() {
var options = this.props;
options.onBlur = options.onChange;
// You can also use `transferPropsTo` here, but I've heard it's deprecated
return React.DOM.input.call(React.DOM, options);
}
});
React.renderComponent(
ChangeOnBlurInput({
value: "Nice",
onChange: function(e) { alert(e.target.value) } }),
document.body);
用它来代替React.DOM.input