onSubmit 不工作(react-material-ui-form-validator)
onSubmit not working (react-material-ui-form-validator)
当我添加一个 ValidatorForm 组件(react-material-ui-form-validator)时,我可以输入输入但是当我输入数据并提交时状态和其他属性没有更新,
我检查了控制台,onSubmit 不工作
<ValidatorForm ref="form"
onSubmit={() => console.log('this is submit')}>
<ValidatorForm ref="form"
onSubmit={this.addNewColor}>
两个代码都不起作用...
我该如何修复代码? ValidatorForm 有问题吗?或者我的代码有误?
首先在您的 handle submit 中尝试 event.preventDefault() 或者您也可以在按下 "submit" 按钮时调用 handle submit。
handleSubmit = (event) => {
event.preventDefault();
//state changing logic here
}
render() {
const { email } = this.state;
return (
<ValidatorForm
ref="form"
onError={errors => console.log(errors)}
>
<TextValidator
label="Email"
onChange={this.handleChange}
name="email"
value={email}
validators={['required', 'isEmail']}
errorMessages={['this field is required', 'email is not valid']}
/>
<Button type="submit" onClick={this.handleSubmit}>Submit</Button>
</ValidatorForm>
);
}
当我添加一个 ValidatorForm 组件(react-material-ui-form-validator)时,我可以输入输入但是当我输入数据并提交时状态和其他属性没有更新,
我检查了控制台,onSubmit 不工作
<ValidatorForm ref="form"
onSubmit={() => console.log('this is submit')}>
<ValidatorForm ref="form"
onSubmit={this.addNewColor}>
两个代码都不起作用...
我该如何修复代码? ValidatorForm 有问题吗?或者我的代码有误?
首先在您的 handle submit 中尝试 event.preventDefault() 或者您也可以在按下 "submit" 按钮时调用 handle submit。
handleSubmit = (event) => {
event.preventDefault();
//state changing logic here
}
render() {
const { email } = this.state;
return (
<ValidatorForm
ref="form"
onError={errors => console.log(errors)}
>
<TextValidator
label="Email"
onChange={this.handleChange}
name="email"
value={email}
validators={['required', 'isEmail']}
errorMessages={['this field is required', 'email is not valid']}
/>
<Button type="submit" onClick={this.handleSubmit}>Submit</Button>
</ValidatorForm>
);
}