You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在ReactJS中使用BaseWeb的FormControl Input时获取email、password值为undefined

问题根因

你的输入值获取写法错误:事件对象的target属性上不存在email、password字段,输入内容存储在target.value中,所以你一直取不到对应值。

修复方案

替换以下两个onChange回调函数的代码即可:

// 邮箱输入回调修改后
const onChangeEmail = ({ target: { value } }) => {
  setIsValid(validateEmail(value));
  setEmail(value);
};

// 密码输入回调修改后
const onChangePassword = ({ target: { value } }) => {
  setIsValid(true);
  setPassword(value);
}

优化建议

你当前的isValid状态同时管控邮箱、密码两个输入框的错误提示,只要一个输入不合法就会同时触发两个框的错误样式,建议拆分出独立的邮箱校验状态、密码校验状态,交互体验会更合理。

内容的提问来源于stack exchange,提问作者ayyagarian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 15:51:03