一个庞大的表单 分成多个表单模块 在一个按钮的控制下 所有的表单进行自我校验?? react+ts+ant-design
参考GPT和自己的思路:
对于 ant-design 4.0 多表单一次校验的情况,我们可以使用 Antd 中的 Form 组件来实现。具体步骤如下:
以下是示例代码:
import React, { Component } from 'react';
import { Form, Input, Button } from 'antd';
class MyForm extends Component {
handleSubmit = e => {
e.preventDefault();
// 一次性校验所有表单
this.props.form.validateFields((err, values) => {
if (!err) {
console.log('表单数据:', values);
}
});
};
render() {
const { getFieldDecorator } = this.props.form;
return (
<Form onSubmit={this.handleSubmit}>
<Form.Item>
{getFieldDecorator('username', {
rules: [{ required: true, message: '请输入用户名' }],
})(<Input placeholder="请输入用户名" />)}
</Form.Item>
<Form.Item>
{getFieldDecorator('password', {
rules: [{ required: true, message: '请输入密码' }],
})(<Input.Password placeholder="请输入密码" />)}
</Form.Item>
<Form.Item>
<Button htmlType="submit">提交</Button>
</Form.Item>
</Form>
);
}
}
export default Form.create({ name: 'my_form' })(MyForm);