我有多個輸入,並且我正在嘗試在下一個輸入達到最大長度時進行輸入焦點。
這裏是我的代碼:如何簡化這個反應組分?
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