鸿蒙实现带字数提醒的输入文本框

前言:

DevEco Studio版本:4.0.0.600

API:10

        鸿蒙原生TextArea提供了一种实现带字数提醒的功能,但是通过测试发现虽然功能是实现了但是无法修改样式,没法满足我们的UI需求。

原生效果:

  

效果预览:

实现原理分析:

依据现有的TextArea组件,我们只需要不显示默认的数字提醒,然后再加入我们自定义的数字提醒就行了,至于怎么实现在右下角添加布局可以考虑stack布局组件,通过alignContent(Alignment.BottomEnd)方法设置在右下角。默认数字提醒只需设置showCounter(false)

代码实现:

@Entry
@Component
struct TextAreas {
   @State text: string = ''
   @State maxLength: number = 50 //最大输入内容长度

   build() {
      Stack() {
         TextArea({ text: this.text, placeholder: '请输入内容' })
            .placeholderFont({ size: 16 })
            .width('100%')
            .flexGrow(1)
            .height(300)
            .fontSize(16)
            .barState(BarState.Off)
            .padding({ bottom: 40 })
            .fontColor(Color.Black)
            .maxLength(this.maxLength)//设置文本的最大输入字符数,到达文本最大字符限制,将无法继续输入字符,同时边框变为红色
            .backgroundColor('#F1F3F5')
            .onChange((value: string) => {
               this.text = value
            })
         Text() {
            Span(this.text.length.toString()).fontColor(Color.Black).fontSize(13)
            Span(`/${this.maxLength}`).fontColor('#999999').fontSize(13)
         }.margin({ right: 10, bottom: 10 })
      }
      .alignContent(Alignment.BottomEnd)
      .width('100%')
      .height(300)
      .padding(20)
   }
}


http://www.niftyadmin.cn/n/5446290.html

相关文章

【文献阅读】AlphaFold touted as next big thing for drug discovery — but is it?

今天来精读2023年10月发在《Nature》上的一篇新闻:AlphaFold touted as next big thing for drug discovery — but is it? (nature.com)https://www.nature.com/articles/d41586-023-02984-w Questions remain about whether the AI tool for predicting protein …

活用 C语言之union的精妙之用

一、union的基本定义 Union的中文叫法又被称为共用体、联合或者联合体。它的定义方式与结构体相同,但意义却与结构体完全不同。下面是union的定义格式: union 共用体名 {成员列表}共用体变量名;它与结构体的定义方式相同,但区别在于共用体中的成员的起始地址都是相同的,…

【WPF应用9】 基本控件-Grid的对其和属性详细说明及示例

在WPF(Windows Presentation Foundation)中,Grid是一种强大的布局控件,它可以用来对齐和排列容器中的子元素。Grid控件允许您以行列的形式组织UI元素,并且可以指定行列的数量、大小和布局方式。在本文中,我…

面试笔记——MySQL(主从同步原理、分库分表)

主从同步原理 主从同步结构:主库负责写数据,从库负责读数据,如图—— MySQL主从复制的核心就是二进制日志(BINLOG),它记录了所有的 DDL(数据定义语言)语句和 DML(数据操…

python爬虫使用代理ip的好处是什么?

近年来,随着信息时代的不断发展,网络数据的获取和分析变得愈发重要。而Python作为一种强大的编程语言,其爬虫技术在数据采集领域得到了广泛应用。然而,在使用Python爬虫时,为何要考虑使用代理服务器呢?这和python爬虫…

jmeter接口导入方式

curl直接导入 1、操作页面后,F12查看接口,右击接口-copy-copy as cURL 2、jmeter 工具-import from cURL,粘贴上面复制的curl 根据接口文档导入 1、接口文档示例如下: Path: /api/jobs/xps/exec Method&#xf…

软件杯 深度学习 机器视觉 车位识别车道线检测 - python opencv

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 车位识别车道线检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) …

java常用编程算法——方法递归概述及猴子吃桃案例

前言: 接触到了递归算法,整理下笔记。打好基础,daydayup! 方法递归 方法调用自身的形式称为方法递归,是编程时常用的一种算法 递归的形式 递归有两种情况:1,直接递归;2,间接递归&…