Skip to content

Textarea 文本域 ​

uvx-textarea 提供双向绑定、自动增高、字数统计、输入格式化和多种边框样式。

平台兼容性 ​

AndroidiOS鸿蒙H5微信
3.9+4.11+4.61+4.0+4.41+

小程序端仅支持微信。

平台能力 ​

能力AndroidiOS鸿蒙H5微信
输入、双向绑定、禁用、自动增高、字数统计√√√√√
边框样式、格式化、占位样式、固定高度√√√√√
confirm-type 键盘确认按钮类型×√√√√
fixed、show-confirm-bar、disable-default-padding××××√
cursor-spacing 光标与键盘的距离√√××√
adjust-position 键盘弹出时上推页面√√√×√
hold-keyboard 点击页面时保持键盘√√√×√
linechange 行数变化事件√√√√√
keyboardheightchange 键盘高度变化事件√√√×√

使用须知

  1. 通过 v-model 绑定输入内容,事件回传值统一为字符串,一次输入会同时触发 update:modelValue、input、change。value 作为兼容属性,仅在 v-model 为空时生效。
  2. count 在右下角显示字数统计,需 maxlength 不为 -1;maxlength 默认 140,传 -1 表示不限制长度且不显示统计。
  3. auto-height 为 true 时高度随内容增长,height 失效;否则按 height 固定高度。
  4. confirm-type 在 Android 端不生效,键盘确认按钮固定为换行。
  5. fixed、show-confirm-bar、disable-default-padding 仅微信小程序支持;cursor-spacing 不支持 H5 与鸿蒙;adjust-position 不支持 H5;hold-keyboard 不支持 H5 与鸿蒙 Vapor 模式。
  6. 输入格式化通过 formatter 属性传入,或通过组件实例调用 setFormatter 方法设置,实例方法优先。

基础用法 ​

通过 v-model 绑定输入内容,placeholder 设置占位文字。

vue
<template>
   <uvx-textarea v-model="basicValue" placeholder="请输入内容"></uvx-textarea>
</template>

<script lang="uts" setup>
// 基础示例内容
const basicValue = ref("");
</script>

字数统计 ​

count 显示右下角字数统计,maxlength 限制最大输入长度。

vue
<template>
   <uvx-textarea
      v-model="countValue"
      placeholder="请输入内容"
      :maxlength="200"
      count
   ></uvx-textarea>
</template>

自动增高 ​

auto-height 开启后高度随内容增长。

vue
<template>
   <uvx-textarea v-model="autoHeightValue" placeholder="请输入内容" auto-height></uvx-textarea>
</template>

禁用状态 ​

disabled 使用禁用背景色并阻止输入,字数统计可同时开启。

vue
<template>
   <uvx-textarea
      v-model="disabledValue"
      placeholder="文本域已被禁用"
      disabled
      count
   ></uvx-textarea>
</template>

下划线模式 ​

border="bottom" 使用下划线边框。

vue
<template>
   <uvx-textarea
      v-model="bottomValue"
      placeholder="请输入内容"
      border="bottom"
   ></uvx-textarea>
</template>

API ​

Props ​

属性说明类型默认值平台
v-model绑定的输入内容,优先级高于 valuestring | number""全部
value文本域内容,v-model 为空时生效string | number""全部
placeholder占位文字string""全部
placeholder-class占位文字样式类stringuvx-textarea-placeholder全部
placeholder-style占位文字内联样式string""全部
height文本域高度,数字自动补 px,auto-height 时失效string | number70全部
confirm-type键盘确认按钮类型,Android 端固定为换行return | send | search | next | go | donedoneH5、iOS、鸿蒙、微信
confirm-hold点击键盘确认按钮后是否保持键盘booleanfalse全部
disabled是否禁用booleanfalse全部
count是否显示字数统计,需 maxlength 不为 -1booleanfalse全部
focus是否自动聚焦booleanfalse全部
auto-height是否自动增高booleanfalse全部
fixed是否位于 fixed 定位区域booleanfalse微信
cursor-spacing光标与键盘的距离,单位 pxnumber0Android、iOS、微信
cursor聚焦时的光标位置,-1 表示不指定number-1全部
show-confirm-bar是否显示键盘上方完成栏booleantrue微信
selection-start光标起始位置number-1全部
selection-end光标结束位置number-1全部
adjust-position键盘弹出时是否上推页面booleantrueApp、微信
disable-default-padding是否移除 iOS 默认内边距booleanfalse微信
hold-keyboard点击页面时是否保持键盘booleanfalseApp、微信
maxlength最大输入长度,-1 表示不限制number140全部
border边框样式surround | bottom | nonesurround全部
formatter输入格式化函数(value: string) => stringnull全部
text-style文本域文字样式,CSS 字符串string""全部
count-style字数统计样式,CSS 字符串string""全部
u-style容器自定义样式,CSS 字符串string""全部
u-class追加到容器节点的外部样式类string""全部

Events ​

事件说明参数平台
update:modelValue输入内容变化时更新绑定值value: string全部
input输入内容变化时触发,参数为格式化后的值value: string全部
change输入内容变化时触发,参数为格式化后的值value: string全部
focus文本域聚焦时触发event: UniTextareaFocusEvent全部
blur文本域失焦时触发event: UniTextareaBlurEvent全部
linechange行数变化时触发event: UniTextareaLineChangeEvent全部
confirm点击键盘确认按钮时触发event: UniInputConfirmEvent全部
keyboardheightchange键盘高度变化时触发event: UniInputKeyboardHeightChangeEventApp、微信

参考 ​

uvx-ui · uni-app x 组件库