我想添加一個react-router鏈接到我正在創建的窗體中的按鍵事件。表單本身如下所示:添加鏈接到按鍵事件
<div className="col-md-6 col-md-offset-3" onKeyPress={e => this._handleKeyPress(e)}>
<Paper style={styles.form}>
<form role="form">
<div className="text-center">
<h2>Enter Your Details to Login</h2>
<div className="col-md-12">
<TextField
hintText="Email"
floatingLabelText="Email"
type="email"
errorText={this.state.email_error_text}
onChange={e => this.changeValue(e, 'email')}
onBlur={this.isDisabled}
/>
</div>
<div className="col-md-12">
<TextField
hintText="Password"
floatingLabelText="Password"
type="password"
errorText={this.state.password_error_text}
onChange={e => this.changeValue(e, 'password')}
onBlur={this.isDisabled}
/>
</div>
<FlatButton
containerElement={<Link to="/portal" />}
disabled={this.state.disabled}
style={{"marginTop": 50}}
label="Submit"
onClick={e => this.login(e)}
/>
</div>
</form>
</Paper>
</div>
正如您所看到的,我正在將material-ui按鈕指向下一頁的鏈接。不過,我也想在按Enter鍵提交表單時做類似的事情。目前,我有這個處理的關鍵事件,並登錄:
_handleKeyPress(e) {
if (e.key === 'Enter') {
if (!this.state.disabled) {
this.login(e);
}
}
}
login(e) {
createUser(this.state.email, this.state.password);
}
但你可以看到有在按鍵功能不發生轉變。
我的問題是我怎麼能把這添加到按鍵事件,以便它也將導致過渡到下一頁?
一如既往,任何幫助將非常感激。
感謝您的時間
您是否嘗試將路由器添加到組件上下文並使用this.context.router.push('yourpath')? – QoP
我該怎麼去做,我只是真的開始使用react-router,所以我對你的意思有點困惑。 – BeeNag