反应:不要对onChange事件使用keyUp



是否有可能让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

相关内容

  • 没有找到相关文章

最新更新