mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-15 17:19:11 +08:00
502dac12aa
* docs: fix code * feat: lint * feat: prettier * feat: test * feat: review * feat: format html * feat: format html
63 lines
1.4 KiB
TypeScript
63 lines
1.4 KiB
TypeScript
import React from 'react';
|
|
import type { FormProps } from 'antd';
|
|
import { Button, Checkbox, Form, Input } from 'antd';
|
|
|
|
type FieldType = {
|
|
username?: string;
|
|
password?: string;
|
|
remember?: string;
|
|
};
|
|
|
|
const onFinish: FormProps<FieldType>['onFinish'] = (values) => {
|
|
console.log('Success:', values);
|
|
};
|
|
|
|
const onFinishFailed: FormProps<FieldType>['onFinishFailed'] = (errorInfo) => {
|
|
console.log('Failed:', errorInfo);
|
|
};
|
|
|
|
const App: React.FC = () => (
|
|
<Form
|
|
name="basic"
|
|
labelCol={{ span: 8 }}
|
|
wrapperCol={{ span: 16 }}
|
|
style={{ maxWidth: 600 }}
|
|
initialValues={{ remember: true }}
|
|
onFinish={onFinish}
|
|
onFinishFailed={onFinishFailed}
|
|
autoComplete="off"
|
|
>
|
|
<Form.Item<FieldType>
|
|
label="Username"
|
|
name="username"
|
|
rules={[{ required: true, message: 'Please input your username!' }]}
|
|
>
|
|
<Input />
|
|
</Form.Item>
|
|
|
|
<Form.Item<FieldType>
|
|
label="Password"
|
|
name="password"
|
|
rules={[{ required: true, message: 'Please input your password!' }]}
|
|
>
|
|
<Input.Password />
|
|
</Form.Item>
|
|
|
|
<Form.Item<FieldType>
|
|
name="remember"
|
|
valuePropName="checked"
|
|
wrapperCol={{ offset: 8, span: 16 }}
|
|
>
|
|
<Checkbox>Remember me</Checkbox>
|
|
</Form.Item>
|
|
|
|
<Form.Item wrapperCol={{ offset: 8, span: 16 }}>
|
|
<Button type="primary" htmlType="submit">
|
|
Submit
|
|
</Button>
|
|
</Form.Item>
|
|
</Form>
|
|
);
|
|
|
|
export default App;
|