2016-11-21 52 views
0

任何人都可以建议如何迁移到新组件单击提交按钮?我正在使用react.Included电子邮件字段和一个提交按钮做一个简单的登录页面,试图如果我输入电子邮件n点击提交密码组件出现。即与gmail登录相同。迁移到新组件点击提交按钮在反应

+0

我有点困惑,但如果你只是想要两步登录,那么在提交电子邮件后更改组件状态并呈现密码输入。 –

+0

是啊我尝试使用它的工作状态,但有一些问题......也有任何方法来设置主要的用户名和密码?例如我想将它设置为[email protected]和密码为123456 –

回答

1

创建主要组件如下。

export default class Index extends React.Component{ 

    constructor(props) { 
    super(props); 
    this.state = { 
     currentStep : 1, 
    }; 
    this.changeStep = this.changeStep.bind(this); 
} 

loadSteps() { 
    switch(this.state.currentStep) { 
     case 1: 
      return (<EmailView />); 
     case 2: 
      return (<PasswordView />); 
     default: 
      return (<EmailView />); 
    } 
} 

changeStep(step) { 
    this.setState({ currentStep : step}); 
} 

render() { 

    return (
     <div className="login-steps-container"> 
      {this.loadSteps()} 
     </div> 
    ); 
} 

}

,并创建两个用于电子邮件字段和密码的步骤子组件,

Email.js

export default class Email extends React.Component{ 

    constructor(props) { 
    super(props); 
    } 

    render() { 

    return (
     <div className="email-step" > 
      <input type="text" className="email-field"> 
      <input type="button" value="Go to" onClick="this.props.changeStep.bind(this, 2)"> 
     </div> 
    ); 
    } 
} 

Password.js

export default class Password extends React.Component{ 

    constructor(props) { 
    super(props); 
    } 

    render() { 

    return (
     <div className="password-step" > 
      <input type="password" className="password-field"> 
      <input type="button" value="Login" > 
     </div> 
    ); 
    } 
} 
+1

太棒了!谢谢...还可以请你指导我如何设置主要测试电子邮件和密码...例如:我想要电子邮件作为[email protected]和密码为12345678 –

+0

你是什么意思的主要测试电子邮件。你是指文本框内的占位符文本吗?或文本框内的默认电子邮件? –

+0

我的意思是测试邮件..i.e我希望页面进一步只有当我输入[email protected]和密码为12345678 –