【问题标题】:onSubmit not working (react-material-ui-form-validator)onSubmit 不起作用(react-material-ui-form-validator)
【发布时间】:2020-06-24 19:45:55
【问题描述】:

当我添加一个ValidatorForm组件(react-material-ui-form-validator)时,我可以在输入中输入,但是当我输入数据并提交但状态和其他属性没有更新时,

我检查了控制台,onSubmit 不起作用

<ValidatorForm ref="form"
                onSubmit={() => console.log('this is submit')}> 
<ValidatorForm ref="form"
                onSubmit={this.addNewColor}> 

这两个代码都不起作用...

如何修复代码? ValidatorForm 有问题吗?还是我的代码错了?

【问题讨论】:

  • 您是否也在按钮上使用点击事件,如果是,请删除它。

标签: javascript reactjs react-material-ui-form-validator


【解决方案1】:

首先在您的句柄提交中尝试 event.preventDefault() 或者您也可以在按下“提交”按钮时调用句柄提交。

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>
    );
}

【讨论】:

  • 谢谢,我忘记了 Button 组件上的 onClick 事件,它正在工作
猜你喜欢
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 2020-03-22
相关资源
最近更新 更多