【发布时间】:2019-09-22 04:14:43
【问题描述】:
我是 Reactjs 的新手。所以,我不知道,我在这里做错了什么。所以,我有一个父组件,它有一个表单和一个子组件。父组件有一些表单字段,子组件有几个字段。 子组件的状态在父组件中定义,并作为道具传递给它。所以,在子组件中,我有电子邮件、密码、确认密码字段和一个提交按钮。在这里,我需要实现的是,当用户为密码和确认密码字段提供相同的值时,提交按钮将启用。如果他给出了不同的值,则应禁用提交按钮。请查看我的代码以清楚地理解它。
提前致谢
import React, { Component } from 'react';
import FormPartTwo from './FormPartTwo';
class Form extends Component {
constructor(props){
super(props);
this.state = {
FirstName: "",
LastName: "",
Email: "",
Password: "",
ConfirmPassword: ""
}
}
handleChange = e =>{
this.setState({
[e.target.name]: e.target.value
})
}
handleClick = e => {
e.preventDefault();
console.log(this.state);
}
render() {
return (
<div>
<input
type = "text"
name = "FirstName"
placeholder="First Name"
value = {this.state.FirstName}
onChange = {this.handleChange}
/>
<input
type = "text"
name = "LastName"
placeholder="Last Name"
value = {this.state.LastName}
onChange = {this.handleChange}
/>
<FormPartTwo handleClick={this.handleClick} doChange={this.handleChange} {...this.props}/>
</div>
)
}
}
export default Form
/---Component Two---/
import React, { Component } from 'react'
class FormPartTwo extends Component {
render() {
return (
<div>
<input
type="email"
name="Email"
value={this.props.Email}
placeholder="Email"
onChange={this.props.doChange}
/>
<input
type="password"
name="Password"
placeholder="Password"
value={this.props.Password}
onChange={this.props.doChange}
/>
<input
type="password"
name="ConfirmPassword"
placeholder="Retype Password"
value={this.props.ConfirmPassword}
onChange={this.props.doChange}
/>
<input
type="submit"
disabled = {this.props.Password ==! this.props.ConfirmPassword}
onClick={e => this.props.handleClick(e)}
/>
</div>
)
}
}
export default FormPartTwo
【问题讨论】:
标签: javascript reactjs