# Input 输入框 ### 介绍 用户可以在文本框里输入内容。 ### 安装 ``` javascript import { createApp } from 'vue'; // vue import { Input,Icon } from '@nutui/nutui'; // taro import { Input,Icon } from '@nutui/nutui-taro'; const app = createApp(); app.use(Input); app.use(Icon); ``` ### 基础用法 :::demo ```html ``` ::: ### 自定义类型 :::demo ```html ``` ::: ### 禁用和只读 :::demo ```html ``` ::: ### 显示图标 通过 `left-icon` 和 `right-icon` 配置输入框两侧的图标,通过设置 `clearable` 在输入过程中展示清除图标。需要引用 `Icon` 组件 :::demo ```html ``` ::: ### 错误提示 :::demo ```html ``` ::: ### 插入按钮 :::demo ```html ``` ::: ### 格式化输入内容 :::demo ```html ``` ::: ### 显示字数统计 :::demo ```html ``` ::: ### 对齐方式 :::demo ```html ``` ::: ### 无边框 :::demo ```html ``` ::: ### 点击事件 :::demo ```html ``` ::: ## API ### Props | 参数 | 说明 | 类型 | 默认值 | |--------------|----------------------------------------|----------------|---------| | v-model | 输入值,双向绑定 | String | - | | type | 输入框类型,支持原生 `input` 标签的所有 `type` 属性,另外还支持 `textarea` `number` `digit` | String | `text` | | placeholder | 输入框为空时占位符 | String | - | | label | 左侧文本 | String | - | | label-class | 左侧文本额外类名 | String | - | | label-width | 左侧文本宽度,默认单位为 `px` | String、Number | `80` | | label-align | 左侧文本对齐方式,可选值 `left`、`center`、`right` | String | `left` | | input-align | 输入框内容对齐方式,可选值 `left`、`center`、`right` | String | `left` | | colon | 是否在 label 后面添加冒号 | Boolean | `false` | | required | 左侧*号是否展示 | Boolean | `false` | | border | 是否显示下边框 | Boolean | `true` | | disabled | 是否禁用 | Boolean | `false` | | readonly | 是否只读 | Boolean | `false` | | autofocus | 是否自动获得焦点,iOS 系统不支持该属性 | Boolean | `false` | | max-length | 限制最长输入字符 | String、Number | - | | clearable | 展示清除 Icon | Boolean | `false` | | clear-icon | 清除图标 Icon 名称或图片链接,[可参考 Icon 组件的 name 属性](#/zh-CN/component/icon) | String | `mask-close` | | clear-size | 清除图标的 `font-size` 大小 | String | `14` | | left-icon | 左侧 Icon 名称或图片链接,[可参考 Icon 组件的 name 属性](#/zh-CN/component/icon) | String | - | | right-icon | 右侧 Icon 名称或图片链接,[可参考 Icon 组件的 name 属性](#/zh-CN/component/icon) | String | - | | left-icon-size | 左侧 Icon 的 `font-size` 大小 | String | `14` | | right-icon-size | 右侧 Icon 的 `font-size` 大小 | String | `14` | | show-word-limit | 是否显示限制最长输入字符,需要设置 `max-length` 属性 | Boolean | `false` | | error | 是否标红 | Boolean | `false` | | error-message | 底部错误提示文案,为空时不展示 | String、Number | - | | error-message-align | 底部错误提示文案对齐方式,可选值 `left`、`center`、`right` | String | - | | formatter | 输入内容格式化函数 | `(val: string) => string` | - | | format-trigger | 格式化函数触发的时机,可选值为 `onChange`、`onBlur` | String | - | | confirm-type | 键盘右下角按钮的文字(`仅支持小程序`),仅在`type='text'`时生效,可选值 `send`:发送、`search`:搜索、`next`:下一个、`go`:前往、`done`:完成 | String | `done` | | adjust-position| 键盘弹起时,是否自动上推页面,仅支持原生 | Boolean | `true` | ### Events | 名称 | 说明 | 回调参数 | |--------|----------------|-------------| | update:model-value | 输入框内容变化时触发 | val | | focus | 输入框聚焦时触发 | val ,event | | blur | 输入框失焦时触发 | val ,event | | clear | 点击清除按钮时触发 | val ,event | | click | 点击组件时触发 | val ,event | | click-input | 点击输入区域时触发 | val ,event | | click-left-icon | 点击左侧图标时触发 | val ,event | | click-right-icon | 点击右侧图标时触发 | val ,event | ### Slots | 名称 | 说明 | |-------|----------| | button | 自定义输入框尾部按钮 | | input `v3.1.22` | 自定义输入框,使用此插槽后,与输入框相关的属性和事件将失效 |