---
title: Login
cols: 1
order: 15
---

Support multiple common ways of login with built-in controls. You can choose your own combinations and use with your custom controls.

## API

### Login

| Property         | Description                           | Type                  | Default |
| ---------------- | ------------------------------------- | --------------------- | ------- |
| defaultActiveKey | default key to activate the tab panel | String                | -       |
| onTabChange      | callback on changing tabs             | (key) => void         | -       |
| onSubmit         | callback on submit                    | (err, values) => void | -       |

### Login.Tab

| Property | Description               | Type      | Default |
| -------- | ------------------------- | --------- | ------- |
| key      | key of the tab            | String    | -       |
| tab      | displayed text of the tab | ReactNode | -       |

### Login.UserName

| Property | Description                                                                                                       | Type     | Default |
| -------- | ----------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| name     | name of the control, also the key of the submitted data                                                           | String   | -       |
| rules    | validation rules, same with [option.rules](getFieldDecorator(id, options)) in Form getFieldDecorator(id, options) | object[] | -       |

Apart from the above properties, Login.Username also support all properties of antd.Input, together with the default values of basic settings, such as _placeholder_, _size_ and _prefix_. All of these default values can be over-written.

### Login.Password, Login.Mobile are the same as Login.UserName

### Login.Captcha

| Property     | Description                       | Type       | Default |
| ------------ | --------------------------------- | ---------- | ------- |
| onGetCaptcha | callback on getting a new Captcha | () => void | -       |

Apart from the above properties, _Login.Captcha_ support the same properties with _Login.UserName_.

### Login.Submit

Support all properties of _antd.Button_.
