当前位置: 首页 > news >正文

【Flutter 问题系列第 80 篇】TextField 输入框组件限制可输入的最大长度后,输入的内容中包含表情符号时,获取输入的内容数还是会超出限制的问题

这是【Flutter 问题系列第 80 篇】,如果觉得有用的话,欢迎关注专栏。

博文当前所用 Flutter SDK:3.10.5、Dart SDK:3.0.5

一:问题描述

在输入用户名称、简介等内容时,一般我们都会限制输入框内最大可输入数(通过 TextField 组件的 maxLength 属性),如下图限制简介最多10个字

在这里插入图片描述

正常输入汉字是没有问题的,我们的限制起到了作用。可当最后输入了一个表情符号时,我们获取输入内容的长度会超出限制,如下图所示

在这里插入图片描述

这肯定不是我们需要的,怎么处理这种情况呢?

二:解决方案

其实解决的话也很简单,不直接使用字符串的长度,而是使用字符串的字符长度,也就是字符串的 characters 属性的长度。

修改前

onChanged: (str) {if (str.length >= 10) {debugPrint("最多可输入10个字符");}// do something
},

修改后

onChanged: (str) {if (str.characters.length >= 10) {debugPrint("最多可输入10个字符");}// do something
},

修改后的效果如下图所示

在这里插入图片描述

String 内部用来存储的结果是一个 char 字符数组,Character 类用于对单个字符进行操作,是对 char 的封装。如果我们判断输入内容的长度是否大于限制的长度时,应该用的是字符长度,而不是字符串长度。

至此,关于 TextField 输入框组件限制可输入的最大长度后,输入的内容中包含表情符号时,获取输入的内容数还是会超出限制的问题便说到这里。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

Google 的 Flutter 越来越火,截止 2024年1月17日 GitHub 标星已达 159K,Flutter 毅然是一种趋势,所以作为前端开发者,没有理由不趁早去学习。

无论你是 Flutter 新手还是已经入门了,不妨先点个关注,后续我会将 Flutter 中的常用组件(含有源码分析、组件的用法及注意事项)以及可能遇到的问题写到 CSDN 博客中,希望自己学习的同时,也可以帮助更多的人。

相关文章:

【Flutter 问题系列第 80 篇】TextField 输入框组件限制可输入的最大长度后,输入的内容中包含表情符号时,获取输入的内容数还是会超出限制的问题

这是【Flutter 问题系列第 80 篇】,如果觉得有用的话,欢迎关注专栏。 博文当前所用 Flutter SDK:3.10.5、Dart SDK:3.0.5 一:问题描述 在输入用户名称、简介等内容时,一般我们都会限制输入框内最大可输入…...

漏洞检测和评估【网站子域扫描工具02】

上一篇:爬取目标网站的域名和子域名【网站子域扫描工具01】 在Python中,有一些流行的漏洞扫描库可以对子域进行漏洞扫描和评估,比如Nmap、Sublist3r等。 1.端口扫描 以下是一个简单的示例代码,展示了如何使用Nmap进行基本的端口扫…...

压力测试+接口测试(工具jmeter)

jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因 为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是…...

LeetCode 46 全排列

题目描述 全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输入…...

npm install 无反应 npm run serve 无反应

说明情况:其实最开始我就是发现我跟着黑马的苍穹外卖的前端day2的环境搭建做的时候,到这一步出现了问题,无论我怎么 npm install 和 npm run serve 都没有像黑马一样有很多东西进行加载,因此我换了一种方法 1.在这个文件夹下cmd …...

JAVAEE初阶 文件IO(二)

文件IO 一. 文件流1.1 字节流 inputStream(1) try with resources方法 1.2 read方法(1) 第一个read方法(2) 第二个read方法(3) read的第三个方法 1.3 字节流 OutoutStream1.4 字符流(1) reader(2) writer 一. 文件流 1.1 字节流 inputStream 在字节流中,我们使用inputStream和…...

Golang 三数之和+ 四数之和 leetcode15、18 双指针法

文章目录 三数之和 leetcode15map记录 失败!超出限制双指针法 四数之和 leetcode18 三数之和 leetcode15 知识补充: map的key值必须是可以比较运算的类型,不可以是函数、map、slice map记录 失败!超出限制 //得到结果后再去重 失…...

Mysql三种常用的删除方式

前言 在 MySQL 中,有三种常用的方式可以删除表中的数据或整个表,它们分别是 TRUNCATE、DROP 和 DELETE。 TRUNCATE TABLE TRUNCATE TABLE属于DDL语言,不走事务,数据不会回滚 TRUNCATE TABLE 语句会删除表中的所有数据&#xff…...

Eureka 本机集群实现

距离上次发布博客已经一年多了,主要就是因为考研,没时间学习技术的内容,现在有时间继续完成关于代码方面的心得,希望跟大家分享。 今天在做一个 Eureka 的集群实现,我是在本电脑上跑的,感觉这个挺有意思&a…...

查看神经网络中间层特征矩阵及卷积核参数

可视化feature maps以及kernel weights,使用alexnet模型进行演示。 1. 查看中间层特征矩阵 alexnet模型,修改了向前传播 import torch from torch import nn from torch.nn import functional as F# 对花图像数据进行分类 class AlexNet(nn.Module):d…...

重置aws上的ssh默认登录端口

aws上的ec2机器,默认ssh的登录都是22,为了防止被黑,记录下修改该默认端口的方法 修改/etc/ssh/sshd_config文件,将Port 22注释去掉在上面的文件中,加入一行,你想要增加的端口号,格式和22一致注意&#xff1…...

算法刷题——拿出最少数目的魔法豆(力扣)

文章目录 题目描述我的解法思路结果分析 官方题解分析 查漏补缺更新日期参考来源 题目描述 传送门 拿出最少数目的魔法豆:给定一个正整数 数组beans ,其中每个整数表示一个袋子里装的魔法豆的数目。请你从每个袋子中拿出 一些豆子(也可以 拿…...

Linux消息队列

常用函数 //创建/获取消息队列 int msgget (key_t key, int msgflg); /* key : 为键值,ftok(); msgflg:IPC_CREAT - 创建,不存在即创建,已存在即获取,除非… IPC_EXCL - 排斥,已存在即失败。 */// 向消息队列发送消息 int msgs…...

计算机网络——数据链路层(1)

一、概述 在计算机网络中,数据链路层承担着点对点通信的任务,用于跨物理层在网段节点之间参数数据。它在网络分层中处于物理层之上,网路层之下。 在链路层的讨论中,我们将看到两种截然不同类型的链路层信道。第一种类型是广播信道…...

移动端开发进阶之蓝牙通讯(四)

移动端开发进阶之蓝牙通讯(四) 在移动端开发实践中,可能会要求在不同的设备之间切换,从而提升用户体验; 或者为了提升设备的利用率,实现设备之间的连接和协同工作; 不得不通过多端连接,将多个设备连接在一起,实现设备之间的数据共享、远程控制等功能,根据具体的应用…...

npm换源

检查现在的源地址 npm config get registry 使用淘宝镜像 npm config set registry https://registry.npm.taobao.org 使用官方镜像 npm config set registry https://registry.npmjs.org/...

Spring 中 HttpServletRequest 作为成员变量是安全的吗?

在使用spring框架开发的时候,经常会在controller类中看到 HttpServletRequest 对象参数,一般我们都是直接使用,但是它是何时、怎么注入到 spring 容器的呢 ?另外以成员变量注入的 request 是线程安全的吗 ? Controller public c…...

浅聊雷池社区版(WAF)的tengine

雷池社区版是一个开源的免费Web应用防火墙(WAF),专为保护Web应用免受各种网络攻击而设计。基于强大的Tengine,雷池社区版提供了一系列先进的安全功能,适用于中小企业和个人用户。 Tengine的故事始于2011年,…...

如何安装配置VisualSVN服务并实现公网访问本地服务【内网穿透】

文章目录 前言1. VisualSVN安装与配置2. VisualSVN Server管理界面配置3. 安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4. 固定公网地址访问 前言 SVN 是 subversion 的缩写,是一个开放源代码的版本控制系统…...

解析TZ字样的0时区UTC时间格式化为东八区

带TZ字样的0时区UTC时间格式化为东八区 TZ 的Z是zero timezone 0时区的意思。带TZ的时间是UTC0的时间SimpleDateFormat默认使用系统日历时区,必须手动指定0时区,才能正确解析TZ时间详细测试代码见下: SneakyThrows public static void main…...

为什么顶尖量化团队集体弃用Pandas?Polars 2.0清洗基准测试结果刚解禁(含12类真实业务场景压测数据)

第一章:Polars 2.0大规模数据清洗技巧对比评测报告Polars 2.0 在查询优化器、内存管理及并行执行策略上实现显著升级,尤其在处理十亿级行宽表时展现出远超 Pandas 和 DuckDB 的吞吐稳定性。本章基于真实电商日志数据集(12.7 GB,8.…...

OpenClaw自动化周报系统:GLM-4.7-Flash汇总Git提交记录

OpenClaw自动化周报系统:GLM-4.7-Flash汇总Git提交记录 1. 为什么需要自动化周报系统 每周五下午,我的团队都需要提交工作周报。传统方式需要手动整理Git提交记录、回忆任务进展、再写成结构化报告,整个过程至少消耗40分钟。更痛苦的是&…...

提示工程架构师进阶之路:AI提示设计用户体验的无障碍设计指南

提示工程架构师进阶:AI提示设计的无障碍体验指南——让每一句交互都“触手可及” 摘要:为什么你的AI提示,可能把16%的用户拒之门外? 清晨7点,张阿姨对着手机里的AI助手说:“帮我订张下周三去闺女家的火车票。” 助手回复:“请提供具体的出发地、目的地及日期。” 张阿…...

零基础玩转OpenClaw:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF镜像快速入门

零基础玩转OpenClaw:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF镜像快速入门 1. 为什么选择云端镜像快速体验OpenClaw 第一次听说OpenClaw时,我就被它的自动化能力吸引了——能让AI像人类一样操作我的电脑完成各种任务。但当我看到本地安装…...

AI赋能Java开发:在快马平台轻松构建集成智能对话与代码分析的Java应用

最近尝试用Java结合AI能力做了个小项目,发现这种组合特别适合快速开发智能应用。在InsCode(快马)平台上实践后发现,整个过程比想象中简单很多,分享下具体实现思路。 项目框架搭建 用Spring Initializr创建基础项目,选择Web和Lombo…...

开源项目依赖管理:从冲突解决到高效协作的实践指南

开源项目依赖管理:从冲突解决到高效协作的实践指南 【免费下载链接】IPED IPED Digital Forensic Tool. It is an open source software that can be used to process and analyze digital evidence, often seized at crime scenes by law enforcement or in a corp…...

34 Python 离群点检测:什么是离群点?为什么要做异常检测?

Python 数据分析入门:什么是离群点?为什么要做异常检测? 在做数据分析时,经常会遇到这样一种情况: 大多数数据都比较集中、变化也比较稳定,但其中总会出现几个“特别奇怪”的值。 比如: 学生成绩…...

IC设计工程师必看:ESD测试四大组合详解与实战避坑指南

IC设计工程师必看:ESD测试四大组合详解与实战避坑指南 在集成电路设计领域,静电放电(ESD)防护能力是衡量芯片可靠性的关键指标之一。据统计,超过35%的芯片失效案例与ESD事件相关,而设计阶段的防护策略直接影…...

Metabase技术深度解析:构建企业级AI驱动数据智能分析平台

Metabase技术深度解析:构建企业级AI驱动数据智能分析平台 【免费下载链接】metabase metabase/metabase: 是一个开源的元数据管理和分析工具,它支持多种数据库,包括 PostgreSQL、 MySQL、 SQL Server 等。适合用于数据库元数据管理和分析&…...

超越传统知识库:Yuxi-Know如何用AI与知识图谱重塑企业智能问答

超越传统知识库:Yuxi-Know如何用AI与知识图谱重塑企业智能问答 【免费下载链接】Yuxi-Know 基于大模型 RAG 知识库与知识图谱的问答平台。Llamaindex VueJS Flask Neo4j。大模型适配 OpenAI、国内主流大模型平台的模型调用、本地 vllm 部署。 项目地址: https:…...