# Textarea 多行输入框

概述

Textarea 多行输入框,该组件是对原生textarea组件的增强,内置了常用布局样式,同时包含 textarea 所有功能。

# 支持平台

目前开发小程序与H5推荐使用 FirstUI nvue版本 (opens new window)

安卓系统版本 安卓uni-app 安卓uniapp-x iOS系统版本 iOS uniapp iOS uniapp-x 小程序 H5/Web
5.0 × 9.0 × × ×

# 引入

以下介绍两种常用的引入方式。
第一种:在页面中引用、注册
import fuiTextarea from "@/components/firstui/fui-textarea/fui-textarea.uvue"
export default {
	components:{
		fuiTextarea
	}
}
1
2
3
4
5
6
第二种:easycom组件规范
传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。

First UI easycom配置请查看 快速上手

如果不了解easycom,可先查看 官网文档 (opens new window)

# 代码演示

部分示例演示,完整使用请参考示例程序以及文档API。
基础使用

通过 placeholder 属性设置提示信息。

<fui-textarea placeholder="请输入内容"></fui-textarea>
1
带标题

通过 label 属性设置标题,flexStart 属性设置标题与输入框是否顶端对齐。

<fui-textarea :flexStart="true" label="标题" placeholder="请输入内容"></fui-textarea>
1
调整高度、必填项

通过 required 属性设置是否显示必填图标,height 属性调整输入框高度。

<fui-textarea :required="true" height="40rpx" label="标题" placeholder="请输入内容"></fui-textarea>
1
使用v-model

双向绑定。

<fui-textarea :isCounter="true" placeholder="请输入内容" v-model="text"></fui-textarea>
1
export default {
	data() {
		return {
			text: ''
		}
	},
	watch: {
		text(newValue : string) {
			console.log(newValue)
		}
	}
}
1
2
3
4
5
6
7
8
9
10
11
12

# Slots

插槽名称 说明
default 多行输入框右侧定义显示内容
left 多行输入框左侧自定义显示内容

# Props

属性名 类型 说明 默认值 平台差异说明
required Boolean 是否显示必填图标 false -
requiredColor String 必填图标颜色 #FF2B2B -
requiredTop String 必填图标top值,flexStart为true时生效 34rpx -
label String 左侧标题 - -
labelSize Number 标题字体大小 32 -
labelColor String 标题字体颜色 #333 -
labelWidth Number 标题最小宽度,单位rpx 140 -
focus Boolean 获取焦点 false -
autoHeight Boolean 是否自动增高,设置auto-height时,style.height不生效 false -
placeholder String 输入框为空时占位符 - -
placeholderStyle String 指定 placeholder 的样式 - -
name String 输入框名称 - -
value String 输入框值 - -
modelValue String 输入框值,用于双向绑定 - -
disabled Boolean 是否禁用 false -
disabledStyle Boolean 是否启用禁用状态下的样式,与正常输入框样式略有区别,仅disabled为true时有效 false -
maxlength Number 最大输入长度,设置为 -1 的时候不限制最大长度 140 -
cursorSpacing Number 指定光标与键盘的距离,单位 px 0 -
showConfirmBar Boolean 是否显示键盘上方带有”完成“按钮那一栏。 true -
cursor Number 指定focus时的光标位置 -1 -
selectionStart Number 光标起始位置,自动聚集时有效,需与selection-end搭配使用 -1 -
selectionEnd Number 光标结束位置,自动聚集时有效,需与selection-start搭配使用 -1 -
adjustPosition Boolean 键盘弹起时,是否自动上推页面 true -
holdKeyboard Boolean focus时,点击页面的时候不收起键盘 false -
height String 输入框高度 200rpx -
minHeight String 输入框最小高度 200rpx -
flexStart Boolean 标题与输入框是否顶端对齐 false -
size Number 输入框字体大小,单位 rpx 32 -
color String 输入框字体颜色 #333 -
textareaBorder Boolean 是否显示textarea边框,为true则属性borderTop,borderBottom失效 false -
borderTop Boolean 是否显示上边框 true -
borderBottom Boolean 是否显示下边框 true -
borderColor String 边框颜色 #EEEEEE -
radius Number 圆角值,单位rpx,设置圆角则属性borderTop,borderBottom失效 0 -
trim Boolean 是否自动去除两端的空格 true -
textAlign String 输入框内容对齐方式,可选值:left、center、right left -
padding String 输入框padding值 32rpx 32rpx -
backgroundColor String 输入框背景颜色 #FFFFFF -
marginTop Number 输入框margin-top值,单位rpx 0 -
isCounter Boolean 是否显示底部输入长度计数 false -
counterColor String 计数文本颜色 #B2B2B2 -
counterSize Number 计数文本字体大小,单位rpx 28 -

# Events

事件名 类型 说明 回调参数
@input (event: string) => void 当键盘输入时,触发input事件 string:值
@update:modelValue (event: string) => void 输入框值改变时触发,用于双向绑定 string:值
@focus (event: UniTextareaFocusEvent) => void 输入框聚焦时触发 UniTextareaFocusEvent
@blur (event: UniTextareaBlurEvent) => void 输入框失去焦点时触发 UniTextareaBlurEvent
@confirm (event: UniInputConfirmEvent) => void 点击完成时,触发事件 UniInputConfirmEvent
@onclick (event: string) => void 点击输入框时触发,返回name值 string:输入框名称
@linechange (event: UniTextareaLineChangeEvent) => void 输入框行数变化时调用 UniTextareaLineChangeEvent
@keyboardheightchange (event: UniInputKeyboardHeightChangeEvent) => void 键盘高度发生变化的时候触发此事件 UniInputKeyboardHeightChangeEvent

示例预览

# 示例代码地址

FirstUITextarea 多行输入框
Last Updated: 2/2/2024, 6:06:12 PM