uniapp中组件库的Textarea 文本域的丰富使用方法

news/2025/2/12 22:04:08/

目录

#平台差异说明

#基本使用

#字数统计

#自动增高

#禁用状态

#下划线模式

#格式化处理

API

#List Props

#Methods

#List Events


文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等

注意:

由于在nvue下,u-textarea名称被uni-app官方占用,在nvue页面中请使用u--textarea名称,在vue页面中使用u--textarea或者u-textarea均可。

#平台差异说明

App(vue)App(nvue)H5小程序

#基本使用

<u--textarea v-model="value1" placeholder="请输入内容" ></u--textarea>
<script>export default {data() {return {value1: '',}},}
</script>

#字数统计

设置count属性实现字数统计

<u--textarea v-model="value2" placeholder="请输入内容" count ></u--textarea>
<script>export default {data() {return {value2: '统计字数',}},}
</script>

#自动增高

设置autoHeight属性实现自动增高

<u--textarea v-model="value3" placeholder="请输入内容" autoHeight ></u--textarea>
<script>export default {data() {return {value3: '',}},}
</script>

#禁用状态

设置disabled属性实现进行禁用,您也可以动态设置是否禁用

<u--textarea v-model="value4" placeholder="文本域已被禁用" disabled count></u--textarea>
<script>export default {data() {return {value4: '',}},}
</script>

#下划线模式

设置border="bottom"属性单独设置底部下划线

<u--textarea v-model="value5" placeholder="请输入内容" border="bottom"></u--textarea>
<script>export default {data() {return {value5: '',}},}
</script>

#格式化处理

如有需要,可以通过formatter参数编写自定义格式化规则。

注意:

微信小程序不支持通过props传递函数参数,所以组件内部暴露了一个setFormatter方法用于设置格式化方法,注意在页面的onReady生命周期获取ref再操作。

<template><u-textarea v-model="value" :formatter="formatter" ref="textarea"></u-textarea>
</template><script>export default {data() {return {value: ''}},onReady() {// 如果需要兼容微信小程序的话,需要用此写法this.$refs.textarea.setFormatter(this.formatter)},methods: {formatter(value) {// 让输入框只能输入数值,过滤其他字符return value.replace(/[^0-9]/ig, "")}},}
</script>

API

#List Props

参数说明类型默认值可选值
value输入框的内容String | String--
placeholder输入框为空时占位符Number | String--
height输入框高度String | Number70-
confirmType设置键盘右下角按钮的文字,仅微信小程序,App-vue和H5有效Stringdone-
disabled是否禁用Booleanfalsetrue
count是否显示统计字数Booleanfalsetrue
focus是否自动获取焦点,nvue不支持,H5取决于浏览器的实现Booleanfalsetrue
autoHeight是否自动增加高度Booleanfalsetrue
ignoreCompositionEvent 2.0.34是否忽略组件内对文本合成系统事件的处理。为 false 时将触发 compositionstart、compositionend、compositionupdate 事件,且在文本合成期间会触发 input 事件Booleantruefalse
fixed如果textarea是在一个position:fixed的区域,需要显示指定属性fixed为trueBooleanfalsetrue
cursorSpacing指定光标与键盘的距离Number0-
cursor指定focus时的光标位置Number | String--
showConfirmBar是否显示键盘上方带有”完成“按钮那一栏,Booleantruefalse
selectionStart光标起始位置,自动聚焦时有效,需与selection-end搭配使用Number-1-
selectionEnd光标结束位置,自动聚焦时有效,需与selection-start搭配使用Number-1-
adjustPosition键盘弹起时,是否自动上推页面Booleantruefalse
disableDefaultPadding是否去掉 iOS 下的默认内边距,只微信小程序有效Booleanfalsetrue
holdKeyboardfocus时,点击页面的时候不收起键盘,只微信小程序有效Booleanfalsetrue
maxlength最大输入长度,设置为 -1 的时候不限制最大长度String | Number140-
border边框类型,surround-四周边框,none-无边框,bottom-底部边框Stringsurroundbottom
placeholderClass指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/Stringtextarea-placeholder-
placeholderStyle指定placeholder的样式,字符串/对象形式,如"color: red;"String | Objectcolor: #c0c4cc-
formatter输入过滤或格式化函数(如需兼容微信小程序,则只能通过setFormatter方法)Functionnull-

#Methods

方法名说明
setFormatter为兼容微信小程序而暴露的内部方法,见上方说明

#List Events

事件名说明回调参数
focus输入框聚焦时触发,event.detail = { value, height },height 为键盘高度e
blur输入框失去焦点时触发,event.detail = {value, cursor}e
linechange输入框行数变化时调用,event.detail = {height: 0, heightRpx: 0, lineCount: 0}e
input当键盘输入时,触发 input 事件e.detail.value
confirm点击完成时, 触发 confirm 事件e
keyboardheightchange键盘高度发生变化的时候触发此事件e

http://www.ppmy.cn/news/1297879.html

相关文章

练习-指针笔试题

目录 前言一、一维整型数组1.1 题目一1.2 题目二 二、二维整型数组2.1 题目一2.2 题目二2.3 题目三 三、结构体3.1 题目一&#xff08;32位机器运行&#xff09; 四、字符数组4.1 题目一4.2 题目二 总结 前言 本篇文章记录关于C语言指针笔试题的介绍。 一、一维整型数组 1.1 …

2024 年 API 安全:预测和趋势

随着技术以前所未有的速度不断进步&#xff0c;API&#xff08;应用程序编程接口&#xff09;安全性的复杂性也随之增加。随着 API 在现代应用程序和服务中的激增&#xff0c;组织将需要更好地了解其 API 环境以及 API 给运营带来的风险。 到 2024 年&#xff0c;预计几个关键…

C++推箱子游戏开发

游戏 自动地图生成背景音乐推箱子到目标位置 美工资源 美工资源&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1MZv8pDBXdNDbXxuAAPSM-A **提取码&#xff1a;**2syq 图形库: www.easyx.cn cpp文件 #include "box_man.h" #include <conio.h> #…

18款Visual Studio实用插件(更新)

前言 俗话说的好工欲善其事必先利其器&#xff0c;安装一些Visual Studio实用插件对自己日常的开发和工作效率能够大大的提升&#xff0c;避免996从选一款好的IDE实用插件开始。以下是我认为比较实用的Visual Studio插件希望对大家有用&#xff0c;大家有更好的插件推荐可在文…

大前端nestjs入门教程系列(四):如何nestjs整合mysql数据库

经过前面的几篇文章&#xff0c;想必大家已经对nestjs有了基础的了解&#xff0c;那么这篇文章就带大家玩玩数据库&#xff0c;学会了这篇&#xff0c;就离大前端又进了一步 Nest与数据库无关&#xff0c;使你可以轻松地与任何 SQL 或 NoSQL 数据库集成。 根据你的喜好&#xf…

人工智能_机器学习091_使用三维瑞士卷数据_KMeans聚类算法进行瑞士卷数据聚类---人工智能工作笔记0131

然后我们首先来构建一下数据 准备瑞士卷数据: import numpy as np 导入数学计算包 import matplotlib.pyplot as plt 导入画图包 #自底向上聚类 from sklearn.cluster import AgglceerativeClustering 导入分层聚类模型 from sklearn.datasets import make_swiss_roll # 瑞士卷…

强化学习在生成式预训练语言模型中的研究现状简单调研

1. 绪论 本文旨在深入探讨强化学习在生成式预训练语言模型中的应用&#xff0c;特别是在对齐优化、提示词优化和经验记忆增强提示词等方面的具体实践。通过对现有研究的综述&#xff0c;我们将揭示强化学习在提高生成式语言模型性能和人类对话交互的关键作用。虽然这些应用展示…

极客时间-《如何成为学习高手》文章笔记 + 个人思考

极客时间-《如何成为学习高手》文章笔记 个人思考 底层思维高效学习05&#xff5c;教你全面提升专注力&#xff0c;学习时不再走神06&#xff5c;教你高效复习&#xff1a;巧用学习神器取得好成绩07&#xff5c;我考北大中文系时&#xff0c;15 天背下 10 门专业课的连点成线法…