Textarea (文本域)
于输入多行文本的组件,支持多种配置,包括自动增高、光标颜色、选择文本等。
支持平台
安卓 | ios | 鸿蒙 | web | 微信小程序 |
---|---|---|---|---|
√ | √ | √ | √ | √ |
示例代码
html
<template>
<t-page>
<t-card heading="文本域" main-class="mb-30" sub-title="支持textarea所有属性,增加清除功能与字数统计,适配多种主题">
</t-card>
<introduction title="主题-type">
<t-textarea main-class="mb-30 h-100" input-class="f" placeholder="请输入内容" v-model="inputVal"
:disabled="disabled" :border="true" @clear="clear">默认按钮</t-textarea>
<t-button main-class="mb-30" type="success" @click="disabled=!disabled">{{disabled?'正常':'禁用'}}</t-button>
<t-textarea :disabled="disabled" main-class="mb-30" placeholder="请输入内容" v-model="inputVal" :maxlength="140"
:count="true" type="primary"></t-textarea>
<t-textarea :disabled="disabled" main-class="mb-30" placeholder="请输入内容" v-model="inputVal" type="success"
:password="true" size="l"></t-textarea>
<t-textarea :disabled="disabled" main-class="mb-30" placeholder="请输入内容" v-model="inputVal"
type="info"></t-textarea>
<t-textarea :disabled="disabled" main-class="mb-30" placeholder="请输入内容" v-model="inputVal"
type="warning"></t-textarea>
<t-textarea :disabled="disabled" :maxlength="200" main-class="mb-30" placeholder="请输入内容" v-model="inputVal"
type="error"></t-textarea>
</introduction>
<introduction title="主题-effect">
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" effect="normal"
type="primary"></t-textarea>
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" effect="dark"
type="success"></t-textarea>
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" effect="disabled"
type="info"></t-textarea>
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" effect="light"
type="warning"></t-textarea>
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" effect="plain" :border="true"
type="warning"></t-textarea>
</introduction>
<introduction title="主题-size">
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" size="large"
type="success"></t-textarea>
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" size="medium"
type="info"></t-textarea>
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" size="small"
type="warning"></t-textarea>
<t-textarea main-class="mb-30" placeholder="请输入内容" v-model="inputVal" size="mini" type="error"></t-textarea>
</introduction>
</t-page>
</template>
<script>
export default {
data() {
return {
inputVal: '8151',
disabled: false
};
},
methods: {
clear() {
console.log('清除')
}
}
}
</script>
属性
名称 | 类型 | 默认值 | 说明 | 可选值 |
---|---|---|---|---|
size | String | mini | 组件尺寸 | large(大尺寸), medium(中尺寸), small(小尺寸), mini(迷你) |
type | String | "" | 组件类型 | info(信息), primary(正常), error(错误), warning(警告), success(成功) |
disabled | Boolean | false | 组件是否禁用 | false, true |
stop | Boolean | false | 是否阻止事件冒泡(Tui统一写法处理事件冒泡) | false, true |
hover | Boolean | true | 是否有点击效果 | false, true |
path | String | "" | 点击组件后跳转的页面路径,如果为空则响应点击事件,如果不为空则跳转页面不会响应单击事件。 | - |
mainClass | String | "" | 组件根节点的样式 | - |
nativeClass | String | "" | 组件根节点原生样式 | - |
effect | String | "normal" | 组件显示主题 | normal(正常), dark(深色), light(浅色), plain(镂空) |
modelValue | String | `` | 绑定的值 | |
clearClass | String | `` | 清除按钮图标样式 | |
clearabled | Boolean | true | 是否显示清除按钮 | |
name | String | `` | 表单的控件名称 和官方表单组件配合使用, | |
placeholder | String | `` | 输入框为空时占位文本 | |
placeholderClass | String | `` | 指定 placeholder 的样式类 | |
maxlength | Number | 1 | 最大输入长度 | |
cursorSpacing | Number | 0 | 指定光标与键盘的距离 | |
cursorColor | String | `` | 指定光标颜色 | |
autoFocus | Boolean | false | 自动获取焦点 | |
confirmType | String | done | 设置键盘右下角按钮的文字 | return : 换换行send : 发送search : 搜索next : 下一个go : 前往done : 完成 |
confirmHold | Boolean | false | 点击键盘右下角按钮时是否保持键盘不收起 | |
autoHeight | Boolean | true | 是否自动增高,设置auto-height时,style.height不生效 | |
cursor | Number | 0 | 指定 focus 时的光标位置 | |
selectionStart | Number | 1 | 光标起始位置 | |
selectionEnd | Number | 1 | 光标结束位置 | |
adjustPosition | Boolean | true | 键盘弹起时,是否自动上推页面 | |
holdKeyboard | Boolean | false | focus 时,点击页面的时候不收起键盘 | |
inputmode | String | text | 是一个枚举属性,它提供了用户在编辑元素或其内容时可能输入的数据类型的提示。在符合条件的高版本webview里,uni-app的 web 和 app-vue 平台中可使用本属性。 | none : 无虚拟键盘。在应用程序或者站点需要实现自己的键盘输入控件时很有用。text : 使用用户本地区域设置的标准文本输入键盘。decimal : 小数输入键盘,包含数字和分隔符(通常是“ . ”或者“ , ”),设备可能也可能不显示减号键。numeric : 数字输入键盘,所需要的就是 0 到 9 的数字,设备可能也可能不显示减号键。tel : 电话输入键盘,包含 0 到 9 的数字、星号(*)和井号(#)键。表单输入里面的电话输入通常应该使用 。search : 为搜索输入优化的虚拟键盘,比如,返回键可能被重新标记为“搜索”,也可能还有其他的优化。email : 为邮件地址输入优化的虚拟键盘,通常包含""符号和其他优化。表单里面的邮件地址输入应该使用 。url : 为网址输入优化的虚拟键盘,比如,“/”键会更加明显、历史记录访问等。表单里面的网址输入通常应该使用 。 |
clearIcon | String | closes-circle-line | 清除按钮的图标名称 | |
inputClass | String | `` | 输入框样式 | |
border | Boolean | false | 是否显示边框 | |
password | Boolean | false | 是否密码显示 | |
count | Boolean | false | 是否显示字数统计 | |
placeholderStyle | String | `` | 指定 placeholder 的样式 | |
showScrollbar | Boolean | true | showScrollbar是否显示滚动条 |
事件
名称 | 返回参数 | 说明 |
---|---|---|
click | (e : UniPointerEvent) | - |
blur | (e: UniTextareaBlurEvent) | 输入框失去焦点时触发 |
keyboardheightchange | (e: UniKeyboardHeightChangeEvent) | 键盘高度发生变化时触发 |
input | (e: UniInputEvent) | 当键盘输入时触发 |
focus | (e: UniFocusEvent) | 输入框聚焦时触发 |
confirm | (e: UniTextareaConfirmEvent) | 点击完成时触发 |
linechange | (event: UniTextareaLineChangeEvent) => void | 输入框行数变化时调用 |
update:modelValue | - | - |
clear | - | 清除文本时触发 |
方法
名称 | 参数 | 返回值 | 说明 |
---|---|---|---|
blur | - | - | |
input | - | - | |
confirm | - | - | |
linechange | - | - | |
clear | - | - | 文本清空时触发 |
onfocus | - | - | |
keyboardheightchange | - | - |