我正在使用带钩子的React材料,我想在材料形式上执行重置。
我一直在尝试设置状态,但没有任何变化正在反映
<form className="create-account-form" autoComplete="off" onSubmit={onSubmit}>
<FormControl
error={!!errorText.first_name}
variant="outlined"
size="small"
fullWidth
>
<InputLabel>First Name</InputLabel>
<OutlinedInput
name="first_name"
className="create-account-input"
labelWidth={90}
disabled={loading}
onChange={event => handleChange("first_name", event)}
/>
</FormControl>
<Button
type="submit"
className="submit-button"
color="primary"
variant="contained"
>
Submit
</Button>
</form>;
//my state varibles
const [signUpData, setSignUpData] = useState({
first_name: ""
});
const handleChange = (field, event) => {
if (event) {
setSignUpData({
...signUpData,
[field]: event.target ? event.target.value : event
});
}
};
在提交时,我想清除输入字段中的数据。
const onSubmit = e => {
e.preventDefault();
setSignUpData((prev) => (prev.first_name = "",));
// clearfunction()
};
3条答案
按热度按时间tf7tbtn21#
加载初始状态
camsedfj2#
使对象重置或初始值设置为
然后
setSignUpData(...initial_value);
因为你有一个输入使用这个形状或setSignUpData(initial_value);
zazmityj3#
您看,您实际上并没有将状态变量绑定到Input字段。