ant-design/components/input/index.en-US.md

96 lines
3.8 KiB
Markdown
Raw Normal View History

---
category: Components
type: Data Entry
2016-09-08 16:53:50 +08:00
title: Input
---
A basic widget for getting the user input is a text field.
Keyboard and mouse can be used for providing or changing data.
2016-09-10 13:43:30 +08:00
## When To Use
- A user input in a form field is needed.
- A search input is required.
## API
### Input
2017-10-25 10:25:44 +08:00
| Property | Description | Type | Default |
| -------- | ----------- | ---- | ------- |
| addonAfter | The label text displayed after (on the right side of) the input field. | string\|ReactNode | |
| addonBefore | The label text displayed before (on the left side of) the input field. | string\|ReactNode | |
| defaultValue | The initial input content | string | |
| disabled | Whether the input is disabled. | boolean | false |
2017-10-25 10:25:44 +08:00
| id | The ID for input | string | |
| prefix | The prefix icon for the Input. | string\|ReactNode | |
| size | The size of the input box. Note: in the context of a form, the `large` size is used. Available: `large` `default` `small` | string | `default` |
| suffix | The suffix icon for the Input. | string\|ReactNode | |
2017-11-30 09:53:32 +08:00
| type | The type of input, see: [MDN](https://developer.mozilla.org/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types)(use `Input.TextArea` instead of `type="textarea"`) | string | `text` |
2017-10-25 10:25:44 +08:00
| value | The input content value | string | |
| onChange | callback when user input | function(e) | |
2017-10-25 10:25:44 +08:00
| onPressEnter | The callback function that is triggered when Enter key is pressed. | function(e) | |
2018-12-28 18:30:32 +08:00
| allowClear | allow to remove input content with clear icon | boolean | |
2016-11-24 14:56:08 +08:00
> When `Input` is used in a `Form.Item` context, if the `Form.Item` has the `id` and `options` props defined
2017-10-25 10:25:44 +08:00
> then `value`, `defaultValue`, and `id` props of `Input` are automatically set.
The rest of the props of Input are exactly the same as the original [input](https://facebook.github.io/react/docs/events.html#supported-events).
2017-01-09 22:03:10 +08:00
2017-05-22 14:44:58 +08:00
### Input.TextArea
2017-08-31 17:13:28 +08:00
> If you are using `antd@<2.12`, please use `Input[type=textarea]`.
2017-05-22 14:44:58 +08:00
2017-10-25 10:25:44 +08:00
| Property | Description | Type | Default |
| -------- | ----------- | ---- | ------- |
| autosize | Height autosize feature, can be set to `true|false` or an object `{ minRows: 2, maxRows: 6 }` | boolean\|object | false |
2017-10-25 10:25:44 +08:00
| defaultValue | The initial input content | string | |
| value | The input content value | string | |
| onPressEnter | The callback function that is triggered when Enter key is pressed. | function(e) | |
2017-05-22 14:44:58 +08:00
The rest of the props of `Input.TextArea` are the same as the original [textarea](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea).
2017-01-09 22:03:10 +08:00
#### Input.Search
2016-12-02 15:12:01 +08:00
`Added in 2.5.0`
2017-10-25 10:25:44 +08:00
| Property | Description | Type | Default |
| -------- | ----------- | ---- | ------- |
2019-02-21 12:08:35 +08:00
| enterButton | to show an enter button after input. This prop is conflict with addon. | boolean\|ReactNode | false |
| onSearch | The callback function that is triggered when you click on the search-icon or press Enter key. | function(value, event) | |
2016-11-24 14:56:08 +08:00
Supports all props of `Input`.
#### Input.Group
2017-10-25 10:25:44 +08:00
| Property | Description | Type | Default |
| -------- | ----------- | ---- | ------- |
| compact | Whether use compact style | boolean | false |
| size | The size of `Input.Group` specifies the size of the included `Input` fields. Available: `large` `default` `small` | string | `default` |
```html
2016-12-05 13:05:58 +08:00
<Input.Group>
<Input />
<Input />
</Input.Group>
```
2018-11-29 10:03:16 +08:00
#### Input.Password (Added in 3.12.0)
2018-11-29 10:03:16 +08:00
2019-01-11 20:07:03 +08:00
| Property | Description | Type | Default |
| --- | --- | --- | --- |
| visibilityToggle | Whether show toggle button | boolean | true |
## FAQ
### Why Input lose focus when change `prefix/suffix`
When Input dynamic add or remove `prefix/suffix` will make React recreate the dom structure and new input will be not focused.
You can set an empty `<span />` element to keep the dom structure:
```jsx
const suffix = condition ? <Icon type="smile" /> : <span />;
<Input suffix={suffix} />
```