Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Executar Button ao apertar enter

Boa tarde, Tenho o seguinte código.

     <Card id="form-login" className="z-depth-2">
                        <CardImage className="img-fluid" src={mfac} />
                        <CardTitle className="text-center"><b>Login</b></CardTitle>
                        <form>
                            <Input id="input-user" type="text" label="Codigo do usuario" onChange={(e) => this.setState({ usuarioInformado: e.target.value })} />
                            <Input type="password" label="Senha" onChange={(e) => this.setState({ senhaInformada: e.target.value })} />
                            <div className="text-center">
                                <Button onClick={this.login} className="btn-block" id="btn-login" color="orange darken-4">entrar</Button>
                            </div>
                        </form>
                    </Card>

Quero que quando o usuário aperte ENTER ele pressione o Button.

A solução que achei foi colocando

<div className="text-center">
     <Button onClick={this.login} type="submit" className="btn-block" id="btn-login" color="orange darken-4">entrar</Button>
 </div>

Usando o "Submit" ele executa o Button quando pressionado o Enter, porem isso faz com que a pagina se carregue, e isso eu quero evitar pois pretendo fazer uma SPA,

Estou usando o React com Bootstrap.

2 respostas
solução!

Resolvi colocando o

event preventdefault

Assim a tela não carrega novamente.

Acredito que seja dessa forma, porem se alguém souber de uma maneira mais correta, eu adoraria saber.

Opa Denis, sim, você precisa fazer o prevent default para alterar os comportamentos padrões. Problema resolvido então?