Input 输入框 ​

通过鼠标或键盘输入字符

WARNING

Input 为受控组件,它 总会显示 Vue 绑定值。

在正常情况下,input 的输入事件应该被正常响应。 它的处理程序应该更新组件的绑定值 (或使用 v-model)。 否则,输入框的值将不会改变。

不支持 v-model 修饰符。

基础用法 ​

输入框的基本使用与展示形态。

基础输入框 ​

基础样式
禁用样式:通过 disabled 属性指定是否禁用 input 组件

四种状态 ​

使用 status 为输入框添加状态,使用 tips 为状态添加提示信息。

校验通过文本提示
校验存在严重问题文本提示
校验存在严重问题文本提示
校验不通过文本提示
校验通过文本提示
校验存在严重问题文本提示
校验存在严重问题文本提示
校验不通过文本提示

轻量化输入框 ​

使用 plain 属性即可得到一个轻量化输入框。

输入控制 ​

控制输入内容的交互功能。

一键清空、自定义删除按钮 ​

使用 clearable 属性即可得到一个可一键清空的输入框;使用 clear-icon 属性即可自定义删除按钮。

快速选中、修改 1.3.4 ​

使用 default-select 属性,输入框在聚焦时会默认选中全部内容,便于直接输入覆盖(如手机号、数量等短文本)。

格式化 ​

在 formatter的情况下显示值,我们通常同时使用 parser

输入长度限制 ​

使用 maxlength 和 minlength 属性, 来控制输入内容的最大字数和最小字数。 "字符数"使用 JavaScript 字符串长度来衡量。 为文本或文本输入类型设置 maxlength prop 可以限制输入值的长度。 允许你通过设置 show-word-limit 到 true 来显示剩余字数。从 1.0.6 版本开始,你可以将 word-limit-position 设置为 outside,以在输入框外显示字数统计。

0 / 10
0 / 10
0 / 30
0 / 30

计数图形 1.2.5 ​

设置 count-graphemes 以自定义文本长度的计算方式。如果设置了该属性,则不会使用原生的 maxlength 和 minlength。

组件使用 Intl.Segmenter(Chrome 87+、Firefox 125+、Safari 14.1+)进行正确的字素聚类;旧版浏览器回退到基于码点的 Array.from() 迭代。

0 / 10
0 / 20

特殊输入类型 ​

密码框与多行文本域。

密码框 ​

使用 show-password 属性即可得到一个可切换显示隐藏的密码框

文本域 ​

用于输入多行文本信息可缩放的输入框。 添加 type="textarea" 属性来将 input 元素转换为原生的 textarea 元素。

文本域高度可通过 rows 属性控制

自适应文本域 ​

设置文字输入类型的 autosize 属性使得根据内容自动调整的高度。 你可以给 autosize 提供一个包含有最大和最小高度的对象,让输入框自动调整。

自定义内容 ​

通过图标与插槽自定义前后置内容。

带图标/文字的输入框 ​

带有图标标记输入类型

要在输入框中添加图标,你可以简单地使用 prefix-icon 和 suffix-icon 属性。 另外, prefix 和 suffix 命名的插槽也能正常工作。

使用属性
使用插槽
删除位置
前缀后缀

复合型输入框 ​

可以在输入框中前置或后置一个元素,通常是标签或按钮。

可通过 slot 来指定在 Input 中分发的前置或者后置的内容。

Http://
.com
Select
Select

API ​

Attributes ​

参数说明类型默认值
type类型string 等原生 input 类型text
model-value / v-model绑定值string / number—
model-modifiers 1.0.6v-model 修饰符,参考 Vue modifiersobject—
maxlength同原生 maxlength 属性string / number—
minlength原生属性,最小输入长度string / number—
show-word-limit是否显示统计字数, 只在 type 为 'text' 或 'textarea' 的时候生效booleanfalse
word-limit-position 1.0.6字数统计的位置,仅当 show-word-limit 为 true 时生效enum"inside"
count-graphemes 1.2.5自定义函数用于计算文本长度(字形数);设置后将绕过原生的 maxlength / minlength 约束Function—
placeholder输入框占位文本string—
clearable是否显示清除按钮,只有当 type 不是 textarea 时生效booleanfalse
formatter指定输入值的格式。(只有当 type 是"text"时才能工作)Function—
parser指定从格式化器输入中提取的值。(仅当 type 是"text"时才起作用)Function—
show-password是否显示切换密码图标booleanfalse
disabled是否禁用booleanfalse
size输入框尺寸,只在 type 不为 'textarea' 时有效enum—
prefix-icon自定义前缀图标;传 w-icon-* 时经 w-icon 自动兼容 2.0 字体图标string / Component—
suffix-icon自定义后缀图标;传 w-icon-* 时经 w-icon 自动兼容 2.0 字体图标string / Component—
textarea-height 1.0.11输入框高度,仅 type 为 'textarea' 时生效number-
rows输入框行数,仅 type 为 'textarea' 时有效number2
autosizetextarea 高度是否自适应,仅 type 为 'textarea' 时生效。 可以接受一个对象,比如: { minRows: 2, maxRows: 6 }boolean / objectfalse
autocomplete原生 autocomplete 属性stringoff
name等价于原生 input name 属性string—
readonly原生 readonly 属性,是否只读booleanfalse
max原生 max 属性,设置最大值——
min原生属性,设置最小值——
step原生属性,设置输入字段的合法数字间隔——
resize控制是否能被用户缩放enum—
autofocus原生属性,自动获取焦点booleanfalse
form原生属性string—
aria-label a11y等价于原生 input aria-label 属性string—
tabindex输入框的 tabindexstring / number—
validate-event输入时是否触发表单的校验booleantrue
input-styleinput 元素或 textarea 元素的 stylestring / object{}
label a11y deprecated等价于原生 input aria-label 属性string—
clear-icon自定义清除图标string / objectCircleCloseFilled
status输入框状态enum
tips输入框状态提示信息string—
inputmode原生 inputmode 属性,控制虚拟键盘类型enum—
plain是否启用轻量化样式booleanfalse
default-select 1.3.4是否在 focus 时默认选中内容booleanfalse

Events ​

事件名说明类型
blur当选择器的输入框失去焦点时触发Function
focus当选择器的输入框获得焦点时触发Function
change仅当 modelValue 改变时,当输入框失去焦点或用户按 Enter 时触发Function
input在 Input 值改变时触发Function
clear在点击由 clearable 属性生成的清空按钮时触发Function
keydown在输入框按下按键时触发Function
mouseenter当鼠标进入输入框时触发Function
mouseleave当鼠标离开输入框时触发Function
compositionstart输入法开始输入时触发Function
compositionupdate输入法输入改变时触发Function
compositionend输入法输入完成时触发Function

Slots ​

插槽名说明
prefix输入框头部内容,只对非 type="textarea" 有效
suffix输入框尾部内容,只对非 type="textarea" 有效
prepend输入框前置内容,只对非 type="textarea" 有效
append输入框后置内容,只对非 type="textarea" 有效
password-icon 1.2.5作为密码图标的内容,仅在 show-password 为 true 时生效,作用域变量为 { visible: boolean }

Exposes ​

名称说明类型
blur使 input 失去焦点Function
clear清除 input 值Function
focus使 input 获取焦点Function
inputInput HTML 元素object
refHTML 元素 input 或 textareaobject
resizeTextarea改变 textarea 大小Function
select选中 input 中的文字Function
textareaHTML textarea 元素object
textareaStyletextarea 的样式object
isComposing是否是输入 composing 状态object
passwordVisible密码是否可见object

常见问题 ​

WInput 组件的宽度为什么在设置了 clearable 时会发生变化 ​

PS: 由于 WInput 组件没有默认宽度,当显示 clearable 图标时, 组件的宽度将被撑开,可以通过设置固定宽度属性来解决。

vue
<w-input v-model="input" clearable style="width: 200px" />

Copyright 2025 Winning Health 版权所有