Textarea 文本域

用于多行文本输入,支持多种变体、自适应高度、字数统计、清除等功能。

基础用法
通过 v-model 双向绑定数据:

当前值:(空)

文本域变体
提供 outline、filled、borderless 三种样式变体:
不同尺寸
设置 size 属性使用三种预设尺寸:
带标签与必填
设置 label 显示标签,required 显示必填标记:
自适应高度
设置 autoSize 为 true 或对象 { minRows, maxRows } 自动调整高度:

自动适应(无限制)

限制 2~6 行

字数统计
设置 maxlength 和 showCount 显示字数统计:
0/100
0/200
可清除
设置 clearable 属性,输入框有值时右上角显示清除按钮:
错误状态
设置 error 属性显示错误提示:

反馈内容不能为空

状态与提示
通过 status 设定状态,statusText 显示状态提示文本:

内容不符合要求

请注意字数限制

可调整大小
设置 resizable 允许用户拖拽调整文本域大小:
只读与禁用
readonly 只读不可编辑,disabled 禁用且样式变灰:
在表单中使用
结合 Card 组件构建完整表单:
意见反馈
0/500

Props

参数类型默认值说明
modelValuestring''输入值(v-model)
variant'outline' | 'filled' | 'borderless''outline'文本域变体样式
size'sm' | 'md' | 'lg''md'文本域尺寸
placeholderstring''占位文本
labelstring''标签文本
errorstring''错误提示文本
status'default' | 'error' | 'warning''default'状态类型
statusTextstring''状态提示文本(优先于 error 显示)
disabledbooleanfalse是否禁用
readonlybooleanfalse是否只读
clearablebooleanfalse是否可清除
maxlengthnumber最大输入长度
showCountbooleanfalse是否显示字数统计(需配合 maxlength)
rowsnumber4默认行数
autoSizeboolean | { minRows?: number; maxRows?: number }false自适应高度,可设置最小最大行数
resizablebooleanfalse是否允许用户拖拽调整大小
requiredbooleanfalse是否显示必填标记

Events

事件名类型说明
update:modelValue(value: string) => void输入值变化时触发
input(value: string, event: Event) => void输入时触发
focus(event: FocusEvent) => void获得焦点时触发
blur(event: FocusEvent) => void失去焦点时触发
clear() => void点击清除按钮时触发
keydown(event: KeyboardEvent) => void按键按下时触发

Methods

方法名类型说明
focus() => void使文本域获得焦点
blur() => void使文本域失去焦点
resize() => void手动触发自适应高度计算