我有多个输入,并且我正在尝试在下一个输入达到最大长度时进行输入焦点。
这里是我的代码:如何简化这个反应组分?
handleTextChange1(e) {
const { value, maxLength } = e.target;
if (value.length === maxLength) {
ReactDOM.findDOMNode(this.nextComponent1).focus();
}
}
handleTextChange2(e) {
const { value, maxLength } = e.target;
if (value.length === maxLength) {
ReactDOM.findDOMNode(this.nextComponent2).focus();
}
}
render() {
return (
<form onSubmit={this.handleSubmit.bind(this)}>
<input onChange={this.handleTextChange1.bind(this)} maxLength="4"/>
<input ref={c => this.nextComponent1=c} onChange={this.handleTextChange2.bind(this)} maxLength="4" />
<input ref={c => this.nextComponent2=c} maxLength="4"/>
</form>
)
}
我不希望每个输入有不同的onChange事件处理程序。
我该如何简化这个问题,还是有更好的方法来实现我想要做的?
如果一切正常,这可能是更适合的代码审查姊妹网站 –
@SamiKuhmonen嘿指点出来的感谢。我甚至不知道它存在。 – Dan