reactjs - onChange 方法不适用于所有字段
问题描述
我在 useState Hook 中为输入字段定义了初始值,代码如下:
const [name, setName] = useState({
email: "",
password: "",
confirmPassword: "",
storeName: ""
})
我在这里访问 Material UI 输入字段中的值
<FormControl className={classes.formControl} fullWidth={true} variant="filled" >
<InputLabel htmlFor="component-filled">Email</InputLabel>
<FilledInput id="component-filled" onChange={handleChange} name="email" value={name.email} />
{error.emailError}
</FormControl>
<FormControl className={classes.formControl} fullWidth={true} variant="filled">
<InputLabel htmlFor="component-filled">Password</InputLabel>
<FilledInput id="component-filled" onChange={handleChange} type="password" name="password" value={name.password} />
{error.passwordError}
</FormControl>
<FormControl className={classes.formControl} fullWidth={true} variant="filled">
<InputLabel htmlFor="component-filled">Confirm Password</InputLabel>
<FilledInput id="component-filled" onChange={handleChange} type="password" name="confirmpassword" value={name.confirmPassword} />
{error.confirmPasswordError}
</FormControl>
<FormControl className={classes.formControl} fullWidth={true} variant="filled" >
<InputLabel htmlFor="component-filled">Store Name</InputLabel>
<FilledInput id="component-filled" onChange={handleChange} name="storename" value={name.storeName} />
{error.usernameError}
</FormControl>
我遇到的问题是我在其他三个字段“ Email
”、“ Password
”和“ storename
”中输入的 onChange 工作正常,但它不接受“ Confirmpassword
”的任何值,这意味着我无法输入确认密码字段。
这是我的HandleChange
方法:
const handleChange = e => {
e.persist()
setName(name => (
{
...name,
[e.target.name]: e.target.value
}
))
}
我不确定,我缺少什么,因此将不胜感激。
解决方案
您的输入名称是confirmpassword
,但您在状态中的名称是confirmPassword
。更改一个以匹配另一个,它应该可以工作。
<FilledInput
id="component-filled"
onChange={handleChange}
type="password"
name="confirmPassword"
value={name.confirmPassword}
/>
推荐阅读
- python - 更改 pandas 列中的数据
- while-loop - 在纯 Prolog 中通过 CLP(FD) 反转函数
- delphi - Delphi XE2:如何使用序数值 > 255 的整数集
- vba - VBA 电子邮件生成器 - 向员工发送逾期工单通知
- javascript - React 不会使用 setState 立即重新渲染
- c# - .Net Core Identity AuthenticationCookie 不起作用
- javascript - 使用 supertest 实现测试 API 时添加期望方法时出错
- ruby - 无法超时以在 Ruby 中使用 net http 正常工作
- css - 您如何有条件地将多个类应用于单个 Material UI 类道具
- python - discord py - 如果用户回复我的机器人,则发送不同的消息