第九节HarmonyOS 常用基础组件9-TextArea

1、描述

多行文本输入框组件,当输入的文本内容超过组件宽度时会自动换行显示。

2、接口

TextArea(value?:{placeholder?: ResourceStr, text?: ResourceStr, controller?: TextAreaController})

3、参数

参数名

参数类型

必填

描述

placeholder

ResourceStr

设置无输入时的提示文本,输入内容后,提示文本不显示。

text

ResourceStr

设置输入框当前的文本内容。

controller

TextAreaController

设备TextArea控制器。

4、属性

除了通用属性外,还支持以下属性

名称

参数类型

描述

placeholderColor

ResourceColor

设置placeholder文本颜色。

placeholderFont

Font

设置placeholder文本的样式。包括文字大小、文字粗细等。

textAlign

TextAlign

设置文本在输入框中的水平对齐方式。

caretColor

ResourceColor

设置输入光标的颜色

inputFilter

{

value: ResourceStr,

error?: (value: string) => void

}

通过正则表达式设置输入过滤器。

copyOption

CopyOptions

设置输入的文本是否可复制。设置CopyOptions.None时,当前TextArea中的文本无法被复制或者剪切,仅支持粘贴。

5、事件

onChange - 输入内容发生变化时触发该回调。

onCopy - 长按输入框内部区域,弹出剪贴板后,点击复制按钮,触发该回调。

onCut - 长按输入框内部区域,弹出剪贴板后,点击剪切按钮,触发该回调。

onPaste - 长按输入框内部区域,弹出剪贴板后,点击粘贴按钮,触发该回调。

onContentScroll - 文本内容滚动时,触发该回调。

  1. TextAreaController

它是TextArea组件的控制器。

导入对象:

controller:TextAreaController = new TextAreaController();

caretPosition(value: number): void

value是设置输入光标的位置(从字符串开始到光标所在位置的字符长度)。

7、实例

import router from '@ohos.router';

@Entry
@Component
struct TextAreaPage {
  @State message: string = '多行文本输入框组件,当输入的文本内容超过组件宽度时会自动换行显示。'
  @State textContent: string = '';
  @State copyContent: string = '';
  @State cutContent: string = '';
  @State pasteContent: string = '';
  // 实例化TextArea的控制器
  controller: TextAreaController = new TextAreaController();

  build() {
    Row() {
      Scroll() {
        Column() {
          Text(this.message)
            .fontSize(20)
            .fontWeight(FontWeight.Bold)
            .width('96%')
          Blank(12)
          TextArea({ placeholder: '请输入你的描述', text: this.textContent, controller: this.controller })
            .placeholderColor(Color.Red)// 设置未输入内容时提示内容的颜色
            .placeholderFont({ size: 20, weight: FontWeight.Bold })// 设置提示内容的样式如:文本大小、文本粗细等
            .width('96%')
            .height(200)
            .fontColor(Color.Green)
            .fontSize(20)
            .padding(12)
            .textAlign(TextAlign.Start)// 设置输入框中文本的对其方式
            .backgroundColor(Color.Yellow)// 设置输入框背景颜色
            .caretColor(Color.Black)// 设置光标颜色
            .onChange((value: string) => { //  监听输入内容
              this.textContent = value;
            })
            .onCopy((value: string) => { // 监听复制输入的内容
              console.log("onCopy value = " + value)
              this.copyContent = value;
            })
            .onCut((value: string) => { //  // 监听剪切输入的内容
              console.log("onCut value = " + value)
              this.cutContent = value;
            })
            .onPaste((value: string) => { // 监听粘贴到输入框中的内容
              console.log("onPaste value = " + value)
              this.pasteContent = value;
            })
          Blank(12)
          Text(this.textContent)
            .width('96%')
            .fontSize(20)
          Blank(12)
          Text("copyContent = " + this.copyContent + " - cutContent = " + this.cutContent + " - pasteContent = " + this.pasteContent)
            .width('96%')
            .fontSize(20)

          Blank(12)
          Button("TextArea文本文档")
            .fontSize(20)
            .backgroundColor('#007DFF')
            .width('96%')
            .onClick(() => {
              // 处理点击事件逻辑
              router.pushUrl({
                url: "pages/baseComponent/textArea/TextAreaDesc",
              })
            })
        }
        .width('100%')
      }
    }
    .padding({ top: 12, bottom: 12 })
  }
}

8、效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/297887.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通信原理期末复习——计算大题(一)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

攀登者2 - 华为OD统一考试

OD统一考试 分值: 200分 题解: Java / Python / C++ 题目描述 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。 地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。 例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下…

yiyan.baidu.com生成爬取天气预报,并以xls的形式保存到本地

import requests import xlwt import json# 创建工作簿对象 workbook xlwt.Workbook(encodingutf-8-sig) # 创建工作表对象 worksheet workbook.add_sheet(天气数据)# 设置单元格样式 style xlwt.easyxf(font: bold True;)# 定义列标题 headers [date, city, country, weat…

华为云Stack 8.X流量模型分析(六)

八、基础云专线流量模型分析 ​ 华为官方对云专线定义是:用户数据中心通过运营商的物理专线(MPLS/VPN,以太专线)访问云内资源,云内资源呈现真实IP,通过设置的专线路由实现三层互通。 ​ 通过云专线直接访…

修改安卓apk设置为安卓主屏幕(launcher)

修改安卓apk 将apk可以设置安卓主屏幕 原理: 将打包好的apk文件进行拆包增加配置文件在重新编译回apk包 需要得相关文件下载 解包 apktool :https://pan.baidu.com/s/1oyCIYak_MHDJCvDbHj_qEA?pwd5j2xdex2jar:https://pan.baidu.com/s/1Nc-0vppVd0G…

MyBatis - 批量更新(update foreach)报错

在使用mybatis执行批量更新(update foreach)数据的时候报错如下: org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; c…

jquery图形验证码

效果展示 js图形随机验证码&#xff08;表单验证&#xff09; html代码片段 <form class"formwrap"><div class"item"><input type"text" id"code_input" value"" placeholder"请输入验证码"/>…

OpenHarmony底座升级指南(3.2升级4.0)

前言 本文旨在帮助开发者完成底座升级&#xff0c;文中主要以OpenHarmony 3.2 release 升级至OpenHarmony 4.0 release为模板描述。 一、流程概览&#xff1a; 1.1 准备工作 在准备阶段&#xff0c;需要完整收集所有的定制化修改&#xff0c;明确修改人&#xff1b;并且要将…

JavaScript 基础通关

快速熟悉 JavaScript 的基础语法&#xff0c;比较高级的比如事件放在后面的笔记中。 JavaScript 1. JavaScript 介绍 1.1 JavaScript 基本介绍 JavaScript 是一门运行在客户端&#xff08;浏览器&#xff09;的编程语言&#xff0c;实现人机交互的效果。实现网页特效、表单验…

计算机中的数据运算

放上计算机中的数据的表示方法 计算机中的数据表示方法-CSDN博客 补码的运算&#xff1a; 连同符号位一起相加&#xff0c;符号位产生的进位自然丢掉&#xff0c;这里要特别注意机器数的位数&#xff0c;计算数的位数决定了可以存放的数据的大小&#xff0c;加减产生的数据的…

【LeetCode:2807. 在链表中插入最大公约数 | 链表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

构建异地企业网络互联的高效路径

在当今数字化浪潮中&#xff0c;企业的业务拓展已不再受限于地理位置。为了在全球竞争中立于不败之地&#xff0c;越来越多的企业选择在不同城市设立分支机构&#xff0c;构建异地网络&#xff0c;实现高效的协同办公。本文将深入探讨在北上广等经济发达地区&#xff0c;如何通…

Nginx 访问控制

目录 1. 传输层禁止访问 2. 应用层访问控制 访问控制有两个方式&#xff0c;一种是在OSI模型的四层传输层&#xff0c;一种是在第七层应用层。 主机防火墙就是在四层传输控制&#xff0c;nginx就是在七层应用控制。 1. 传输层禁止访问 在进行访问控制前&#xff0c;先开启防…

力扣2807.在链表中插入最大公约数

思路&#xff1a;遍历链表&#xff0c;对于每一个结点求出它与下一个结点的最大公约数并插入到俩个结点之间 代码&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}…

详细平稳解

1.详细平衡 定义&#xff1a;一个在高斯白噪声激励下的动力学系统在状态空间中如果用如下运动方程描述&#xff1a; d d t X j \frac{d}{dt}\mathbf{X}_{j} dtd​Xj​ f j ( X ) f_{j}(\mathbf{X}) fj​(X) ∑ l 1 m g j l ( X ) W l ( t ) \sum_{l1}^{m}g_{jl}(\mathbf{X})W…

大语言模型的幻觉:解析、成因及解决方法

目录 前言1 大语言模型的幻觉现象解析1.1 输入冲突幻觉&#xff08;Input-conflicting&#xff09;1.2 上下文冲突幻觉&#xff08;Context-conflicting&#xff09;1.3 事实冲突幻觉&#xff08;Fact-conflicting&#xff09; 2 幻觉产生的原因2.1 数据偏差和模型缺陷2.2 知识…

1-02VS的安装与测试

一、概述 对于一名C语言程序员而言&#xff0c;进行C语言程序的开发一般需要一个文本编辑器加上一个编译器就足够了。但为了方便起见&#xff0c;我们选择使用集成开发环境——Visual Studio&#xff08;简称VS&#xff09;。安装Visual Studio 下面讲一下如何安装VS&#xff0…

计算机网络(8):因特网上的音频/视频服务

概述 计算机网络最初是为传送数据设计的。因特网 IP 层提供的 “尽最大努力交付” 服务以及每一个分组独立交付的策略&#xff0c;对传送数据信息十分合适。因特网使用的 TCP 协议可以很好地解决P层不能提供可靠交付这一问题。 音频/视频常称为多媒体信息 多媒体信息&#xff…

Linux第17步_安装SSH服务

secure shell protocol简称SSH。 目的&#xff1a;在进行数据传输之前&#xff0c;SSH先对联级数据包通过加密技术进行加密处理&#xff0c;然后再进行数据传输&#xff0c;确保数据传输安全。 1、在安装前&#xff0c;要检查虚拟机可以上网&#xff0c;否则可能会导致安装失…

常见Mysql数据库操作语句

-- DDL创建数据库结构 -- 查询所有数据库 show databases ; -- 修改数据库字符集 alter database db02 charset utf8mb4; -- 创建字符编码为utf——8的数据库 create database db05 DEFAULT CHARACTER SET utf8;-- 创建表格 create table tb_user(id int auto_increment primar…