Cha*_*mas 8 forms onsubmit reactjs antd
我正在后端使用 Django Rest 框架并在前端使用 React 构建一个 Web 应用程序。我还使用 Ant Design 来帮助设计样式。我一直在关注 Youtube 上的教程,但目前在尝试提交表单来创建新文章时遇到了一些问题。我已经完成了一些故障排除,我相信问题出在表单的 onSubmit 函数上。我尝试向按钮添加 onClick 以确保点击被识别并且按预期工作,这就是为什么我认为问题出在 onSubmit 上。现在,我想做的就是将表单元素打印到控制台。我是开发网络应用程序的超级新手,因此我们将不胜感激。
import React from 'react';
import { Form, Input, Button } from 'antd';
class CustomForm extends React.Component {
handleFormSubmit = (event, requestType, articleID) => {
//event.preventDefault();
const title = event.target.elements.title.value;
const content = event.target.elements.content.value;
console.log(title, content);
}
render() {
return (
<div>
<Form
onSubmit={event =>
this.handleFormSubmit(
event,
this.props.requestType,
this.props.articleID
)
}
>
<Form.Item label="Title">
<Input name="title" placeholder="Enter a Title" />
</Form.Item>
<Form.Item label="Content">
<Input name="content" placeholder="Enter the content of the announcement here" />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">{this.props.btnText}</Button>
</Form.Item>
</Form>
</div>
);
}
};
export default CustomForm;
Run Code Online (Sandbox Code Playgroud)
onSubmit根据文档,该问题antd应该位于onFinish此处,并且您还需要在以下位置name传递:label<Form.Item>
这是代码:
const Demo = () => {
const onFinish = (values) => {
console.log("Success:", values);
//Can directly call props here
};
const onFinishFailed = (errorInfo) => {
console.log("Failed:", errorInfo);
};
return (
<Form
{...layout}
name="basic"
initialValues={{
remember: true
}}
onFinish={onFinish}
onFinishFailed={onFinishFailed}
>
<Form.Item label="Title" name="title">
<Input name="title" placeholder="Enter a Title" />
</Form.Item>
<Form.Item label="Content" name="content">
<Input
name="content"
placeholder="Enter the content of the announcement here"
/>
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
Submit
</Button>
</Form.Item>
</Form>
);
};
Run Code Online (Sandbox Code Playgroud)
这是演示:https ://codesandbox.io/s/competent-violet-opwlh?file=/index.js
| 归档时间: |
|
| 查看次数: |
18713 次 |
| 最近记录: |