html - 使用 Material UI 清除受控表单中的输入的问题
问题描述
我有一个使用 Material UI 的 FormControl 制作的受控表单,我在开始时初始化了支持状态(对于每个输入),但这些值在开始时并没有到达实际元素
<FormGroup id="entireForm" ref={formRef}>
<FormControl className={clsx(classes.margin, classes.textField)}>
<StyledInput
id={LOGIN}
type="text"
value={values.login}
disableUnderline={true}
placeholder="Email "
ref={loginField}
onFocus={handleFocus}
error={fieldsErrors.loginError !== ''}
onChange={handleChange(LOGIN)}
/>
</FormControl>
{fieldsErrors.loginError && <p style={styles.errorStyle}>{fieldsErrors.loginError}</p>}
<FormControl className={clsx(classes.margin, classes.textField)}>
<StyledInput
id={PASSWORD}
type={showPassword ? 'text' : 'password'}
value={values.password}
disableUnderline={true}
placeholder="Contraseña"
ref={passwordField}
onChange={handleChange(PASSWORD)}
onFocus={handleFocus}
error={fieldsErrors.passwordError !== ''}
endAdornment={
<InputAdornment position="end">
<IconButton
aria-label="toggle password visibility"
onClick={handleClickShowPassword}
onMouseDown={handleMouseDownPassword}
>
{showPassword ? <Visibility /> : <VisibilityOff />}
</IconButton>
</InputAdornment>
}
/>
</FormControl>
{fieldsErrors.passwordError && <p style={styles.errorStyle}>{fieldsErrors.passwordError}</p>}
<Button
className="mt-4 ml-auto"
size="lg"
type="submit"
onClick={() => handleSubmit(dispatch, checkInputContent, values, fieldsErrors, clearFields)}
>
INIT SESSION
</Button>
</FormGroup>
每个输入的支持状态是
const [values, setValues] = React.useState({
login: '',
password: ''
});
我正在使用 ref 值来执行类似的操作
loginField.current.value = ''
我也试过
loginField.current.reset()
或者
formRef.current.reset()
任何尝试都没有成功
我能做什么?
提前致谢
拉斐尔
解决方案
推荐阅读
- c# - Xamarin.Forms 数字输入逗号和点不起作用
- mysql - 将 MySQL 变量查询转换为 SQLite 查询
- java - 性能:最终尝试还是保存到变量并稍后返回?
- laravel - Laravel 验证器:防止同时提交 2 个参数
- python - 使用 list 和 dict 在 python 中创建多个电话簿记录
- jupyter-notebook - 无法让环境内核与 Jupyter notebook 一起使用 geopandas
- azure - 具有身份验证类型 SSH 公钥身份验证的 Azure 数据工厂 SFTP 连接
- javascript - 如何删除 indexeddb 和 firebaseLocalStorage
- mysql - MySQL WHERE 子句链接到另一个表
- reactjs - 如何在 React 中测试是否从 Redux mapStateToProps 收到了 props?