javascript - 带有 React 的样式化组件 - 表单 onSubmit 不起作用
问题描述
所以我想制作一个 Styled Components 表单组件,然后在更大的 React 组件中使用它。问题是,当我想附加一个 onSubmit 时,它并没有真正起作用。我的样式化组件表单组件:
const FormWrapper = styled.form`
margin: 2vw 0 0;
display:flex;
flex-direction:column;
align-items:center;
`;
我的反应父组件:
const Form = () => {
const handleSubmit = (e)=>{
e.preventDefault();
console.log('submitted');
};
return(
<FormWrapper>
<Input name="username" placeholder="username"/>
<ErrorMssg >This username doesn't exist!</ErrorMssg>
<Submit value="register"/>
</FormWrapper>
)};
我试过这样的事情:
<FormWrapper onSubmit={handleSubmit}>
甚至在我的 Styled Components 组件中也是这样:
const FormWrapper = styled.form.attrs({
onSubmit:props=>props.onSubmit}`
})`
margin: 2vw 0 0;
display:flex;
flex-direction:column;
align-items:center;
`;
现在我让它工作了:
const FormWrapper = styled.div`
form{
margin: 2vw 0 0;
display:flex;
flex-direction:column;
align-items:center;
}
`;
const Form = () => {
const handleSubmit = (e)=>{
e.preventDefault();
console.log('submitted');
};
return(
<FormWrapper>
<form autoComplete="off">
<Input name="username" placeholder="username" autoComplete="off"/>
<ErrorMssg >This username doesn't exist!</ErrorMssg>
<Password name="password" placeholder="password" autoComplete="off"/>
<ErrorMssg>The password is wrong!</ErrorMssg>
<Submit value="log in"/>
</form>
</FormWrapper>
)};
解决方案
试试这个
<Submit value="log in" onClick={handleSubmit}/>
推荐阅读
- javascript - 将变量从 javascript 传递给 python,无需重新加载页面
- javascript - Non-greedy capturing parenthesis
- python-3.x - 如何为 CIFAR 10 pytorch 教程添加 GPU 计算?
- amazon-web-services - 如何通过节点红色 MQTT 设置 AWS SNS 电子邮件的电子邮件主题?
- swift - “找不到适用于应用程序的 WatchKit 1.0 应用程序包”Xcode 10.1 Swift 4.2
- excel - 如何使用 JCL 将 SQL 结果处理成 CSV/Excel 附件?
- javascript - 如何在图表中使用 CSV 中的值?
- python - 使用 SciLearn Kit 读取 Pandas 数据帧时遇到问题
- r - 按组有条件地过滤来自时间序列的观察
- android - 如何在大马家滑块中显示下一张图片的一部分?