是否有可能让React在关注元素丢失之后触发onChange
事件,而不是在keyUp
上使用它(目前,onChange
是任何事件的抽象操纵字段值)? keyUp
对我来说有点慢,而且我认为这可能有助于移动设备解决我正在建设的内容,以便将场景重点转移到场地之后。
答案 0 :(得分:6)
你在找这样的东西吗?
我可能正在解释您的要求不正确,但您应该能够通过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
}
答案 1 :(得分:1)
您可以构建支持此行为的自己的组件,例如:
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
。