我使用 react 创建了一个注册页面。在那里,我使用了以下注册表单。https://ant.design/components/form。所有验证均已正确处理,成功尝试后用户可以注册到系统。我遇到的唯一问题是,提交后无法清除表单输入字段值。
我已经实现了一种将表单字段值清除为空的方法。但它不起作用。而且我在stackoverflow中尝试了以前的类似问题,但仍然无法为我找到一个可行的问题。原因可能是因为我使用的是 ant 设计模板。
this.setState({
confirmDirty: false,
autoCompleteResult: [],
userName: '',
email: '',
experience: [],
password: ''
})
上面的代码是清除输入值。但它不起作用,所有表单输入字段值仍然保存。下面是注册表单代码的一部分。
class RegistrationForm extends React.Component {
state = {
confirmDirty: false,
autoCompleteResult: [],
userName: '',
email: '',
experience: [],
password: ''
};
//below form is inside the render method and return
<Form onSubmit={this.handleSubmit}>
<FormItem
{...formItemLayout}
label="E-mail"
>
{getFieldDecorator('email', {
rules: [{
type: 'email', message: 'The input is not valid E-mail!',
}, {
required: true, message: 'Please input your E-mail!',
}],
})(
<Input />
)}
</FormItem>
</Form>
handleSubmit = (e) => {
e.preventDefault();
this.props.form.validateFieldsAndScroll((err, values) => {
if (!err) {
//submission done
//then execute the above code which I mentioned previously in the question, to reset the input fields value
}
});
}
}
我可能在哪里出错,我该如何解决?