uniapp textarea组件的使用方法
在uniapp中使用textarea组件时,如何设置默认值并实现双向绑定?如何限制输入字数并显示剩余字数?textarea的placeholder样式能否自定义?在iOS和安卓平台上,textarea的软键盘弹出行为不一致,该如何处理?如何通过CSS调整textarea的高度自适应内容?
2 回复
在uniapp中,使用textarea组件可创建多行文本输入框。基本用法如下:
- 在template中添加:
<textarea v-model="content" placeholder="请输入内容"></textarea>
- 在script中定义数据:
data() {
return {
content: ''
}
}
常用属性:
- placeholder:提示文本
- maxlength:最大输入长度
- auto-height:高度自适应
- disabled:禁用状态
UniApp 中 textarea 组件用于多行文本输入,支持自动增高、占位符、字数统计等功能。以下是基本使用方法和关键属性:
基本用法
<template>
<view>
<textarea
v-model="textValue"
placeholder="请输入内容"
maxlength="100"
auto-height
/>
<text>已输入:{{ textValue.length }}/100</text>
</view>
</template>
<script>
export default {
data() {
return {
textValue: ''
}
}
}
</script>
核心属性说明
- v-model:绑定输入值(支持双向绑定)
- placeholder:输入框为空时显示的提示文本
- maxlength:最大输入字符数(中文/英文均算1个字符)
- auto-height:是否自动增高(根据内容调整高度)
- disabled:是否禁用(默认false)
- focus:自动获取焦点(需配合条件触发)
- show-confirm-bar:是否显示键盘完成栏(iOS有效)
常用事件
<textarea
@focus="onFocus"
@blur="onBlur"
@input="onInput"
@confirm="onConfirm"
/>
@focus:获得焦点时触发@blur:失去焦点时触发@input:输入时实时触发@confirm:点击完成按钮时触发(仅部分键盘支持)
注意事项
- 在 iOS 端使用
auto-height时,建议设置min-height避免初始高度异常 - 微信小程序中
textarea为原生组件,层级最高(可能覆盖其他元素) - 如需固定高度,直接使用
height属性(单位px/rpx)
扩展功能示例
<textarea
v-model="content"
placeholder带固定高度的输入框"
:maxlength="200"
:show-confirm-bar="false"
:disabled="isDisabled"
@blur="saveContent"
style="height: 120rpx;"
/>
通过合理组合属性和事件,即可实现符合业务需求的文本输入功能。

