第三百一十七回

news2024/11/24 20:30:48

文章目录

  • 1. 概念介绍
  • 2. 实现方法
    • 2.1 hintText
    • 2.2 labelText
    • 2.3 controller
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"如何在输入框中处理光标"相关的内容,本章回中将介绍如何添加输入框默认值.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

在项目中经常使用输入框获取用户输入的内容,有时候在输入框中反复输入相同的内容会让用户感觉繁琐,因此我们准备在输入框中加入默认值,以减少输入的次数,本章
回中将介绍几种在输入框中加入默认值的方法,我们使用的输入框仍然基于TextField组件实现。

2. 实现方法

我们在实践中发现了几种在输入框中添加默认值的方法,有的比较好用,有的则不能用,在下面的小节中我们将分别介绍这几种实现方法。

2.1 hintText

使用hintText可以在输入框中添加默认值,不过它默认的显示颜色比较浅,还有一个致命缺点就是不能编辑默认值:当我们在输入框中输入内容时它会全部消失,不能对
默认值进行编辑。因此,我们不推荐使用hintText来充当默认值,还是把它当作输入框的提示值比较好。

2.2 labelText

使用labelText也可以在输入框中添加默认值,不过它和hitText一样不能编辑,而且当我们在输入框中输入内容时它会全部消失,并且运行跑到左上角的边框上。因此,
我们不推荐使用labelText来充当默认值,还是把它当作输入框中内容的label(标签)比较好。

2.3 controller

使用controller也可以在输入框中添加默认值,而且可以对默认值进行编辑,它不会像hintText一样全部消失,也不会像labelText一样跑到输入框的边框上。我
们将在后面的小节中通过示例代码来演示它的使用方法。

3. 示例代码

final TextEditingController _controller = TextEditingController();
//给控制器设置初始值
controller.text = "123456";

TextField(
  autofocus: true,
  ///设置初始值,可以监听值的变化,和onChanged中得到的值一样
  controller: _controller,
  keyboardType: TextInputType.number,
  ///这个值是输入框中所有的内容,而不是当前输入的某个内容
  onChanged: (value) {
    debugPrint("hello onchanged $value");
  },
  //这个值是输入框中所有的内容
  onSubmitted: (value){
    debugPrint("hello onSubmited $value");
  },
  decoration: const InputDecoration(
    //在输入框上显示
    labelText: "Label",
    hintText: "Name",
    //在输入框下方位置显示
    errorText: "It is wrong",
    //输入框前面和后面的图标
    prefixIcon: Icon(Icons.login,),
    suffixIcon: Icon(Icons.panorama_fish_eye),
    border: OutlineInputBorder(),
    //无边框,无边框时不要设置label,不然会和hint重叠在一起
    // border: InputBorder.none,
    ///这两个值需要同时修改才有效果
    filled: true,
    fillColor: Colors.blue,
  ),
  //是否显示为密码形式,true时显示为小圆点
  obscureText: false,
),

我们在上面的示例代码中实现了一个密码输入框,并且尝试使用hintText,labelText和contorller来在输入框中实现默认值的功能,经过多次分析与实践后发现,
只有cntroller是比较好的实现方式。我在这里就不演示程序的运行结果了,建议大家自动动手去实践。

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • hintText虽然可以在输入框中实现默认值,但是不能对默认值进行编辑;
  • lableText虽然可以在输入框中实现默认值,但是也不能对默认值进行编辑;
  • controller可以实现默认值,而且支持对默认值进行编辑功能;
    看官们,与"如何添加输入框默认值"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Linux 简易速速上手小册》第6章: 磁盘管理与文件系统(2024 最新版)

文章目录 6.1 磁盘分区与格式化6.1.1 重点基础知识6.1.2 重点案例:为新硬盘配置分区和文件系统6.1.3 拓展案例 1:创建交换分区6.1.4 拓展案例 2:使用 LVM 管理分区 6.2 挂载与卸载文件系统6.2.1 重点基础知识6.2.2 重点案例:挂载新…

ChatGPT高效提问—prompt常见用法(续篇)

ChatGPT高效提问—prompt常见用法(续篇) ​ 对话式prompt适用于模拟各种交流情境。若我们意图探索在特殊场合下可能出现的对话情景,或者模拟一段对话流程,可以采用这种方法,通过精准的prompt指令,引导Chat…

windows配置开机自启动软件或脚本

文章目录 windows配置开机自启动软件或脚本配置自启动目录开机运行的脚本调试开机自启动脚本配置守护进程(包装成自启动服务)使用任务计划程序FAQ 开机自动运行脚本示例 windows配置开机自启动软件或脚本 配置自启动目录 在Windows中添加开机自动运行的软件,可以按…

CF1870F - Lazy Numbers 一道Trie树思路应用的题目

C F 1870 F − L a z y N u m b e r s \mathrm{CF1870F - Lazy\ Numbers} CF1870F−Lazy Numbers D e s c r i p t i o n Description Description 对于给定的 n n n 和 k k k,求解出 1 ∼ n 1\sim n 1∼n 的每一个数在 k k k 进制下字典序排列的顺序&#xff…

Matlab图像处理——图像边缘检测方法(算子)

1.edge函数语法 BW edge(I) BW edge(I,method) BW edge(I,method,threshold) BW edge(I,method,threshold,direction) BW edge(___,"nothinning") BW edge(I,method,threshold,sigma) BW edge(I,method,threshold,h) BW edge(I) 返回二值图像 BW&#xff0…

分享89个时间日期JS特效,总有一款适合您

分享89个时间日期JS特效,总有一款适合您 89个时间日期JS特效下载链接:https://pan.baidu.com/s/127_keimOfy_AKrCNT4TQNA?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,…

Java安全 CC链1分析(Lazymap类)

Java安全 CC链1分析 前言CC链分析CC链1核心LazyMap类AnnotationInvocationHandler类 完整exp: 前言 在看这篇文章前,可以看下我的上一篇文章,了解下cc链1的核心与环境配置 Java安全 CC链1分析 前面我们已经讲过了CC链1的核心ChainedTransf…

【开源】SpringBoot框架开发木马文件检测系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 木马分类模块2.3 木马软件模块2.4 安全资讯模块2.5 脆弱点模块2.6 软件检测模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 木马分类表3.2.2 木马软件表3.2.3 资讯表3.2.4 脆弱点表3.2.5 软件检测表…

GEE数据集——巴西年度土地覆被和利用地图

巴西年度土地覆被和利用地图 巴西年度土地利用和土地覆被制图项目是一个由生物群落、土地利用、遥感、地理信息系统和计算机科学专家组成的合作网络,依靠谷歌地球引擎平台及其云处理和自动分类功能生成巴西年度土地利用和土地覆被时间序列。MapBiomas 项目--是一项多…

C++入门学习(二十七)跳转语句—break语句

1、与switch语句联合使用 C入门学习&#xff08;二十三&#xff09;选择结构-switch语句-CSDN博客 #include <iostream> #include <string> using namespace std;int main() { int number;cout<<"请为《斗萝大路》打星(1~5※)&#xff1a;" &…

python统计分析——两样本t检验

参考资料&#xff1a;用python动手学统计学 1、导入库 # 导入库 # 用于数值计算的库 import numpy as np import pandas as pd import scipy as sp from scipy import stats # 用于绘图的库 from matplotlib import pyplot as plt import seaborn as sns sns.set() 2、准备数…

导数的几何意义【高数笔记】

1. 高数中的导数几何意义&#xff0c;与中学中斜率的联系 2. 导函数与导数的区别和联系又是什么 3. 导数的几何意义的题型是什么 4. 这些题型又有哪些区别 5. 点在曲线外和点在曲线上&#xff0c;需要注意什么 6. 法线和切线有什么关系 7. 法线是什么

JavaScript DOM 变动观察器(Mutation observer)

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 DOM 变动观察 是 web 开发中的一个重要概念&#xff0c;指的是监视 …

动静态库原理

静态库.a lib文件夹&#xff0c;存放着所有的库。 我们想写了自己的部分功能实现和代码&#xff0c;很多个.0和.h 但是实现文件太多了&#xff0c;我们把它打包在一起就是静态库。 那么如何打包呢&#xff1f;ar命令 ar -rc libhello.a mython.o myprintf.0 r 代表打包 c创…

【JS逆向六】(下)逆向解密某网站返回的密文的值 仅供学习

逆向日期&#xff1a;2024.02.07 使用工具&#xff1a;Node.js 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 可使用AES进行解密处理&#xff08;直接解密即可&#xff09;&#xff1a;在线AES加解密工具 1、打开某某网站(请使用文章开头的…

人工智能三子棋-人机对弈-人人对弈,谁会是最终赢家?

✅作者简介&#xff1a;大家好我是原始豌豆&#xff0c;感谢支持。 &#x1f194;本文由 原始豌豆 原创 CSDN首发&#x1f412; 如需转载还请通知⚠ &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​ &#x1f4e3;系列专栏&#xff1a;C语言项目实践…

CTF--Web安全--SQL注入之Post-Union注入

一、手动POST注入实现绕过 账号密码检测 我们利用sqli-labs/Less-11靶场来进行演示&#xff1a; 我们可以看到一个登录页面 打开Less-11的根目录&#xff0c;我们打开页面的源代码(PHP实现)。 用VS-code打开文件&#xff0c;找到验证登录信息的代码行。 此形式的代码存在POST…

从零开始学howtoheap:fastbins的house_of_spirit攻击3

how2heap是由shellphish团队制作的堆利用教程&#xff0c;介绍了多种堆利用技术&#xff0c;后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境&#xff1a;从零开始配置pwn环境&#xff1a;从零开始配置pwn环境&#xff1a;优化pwn虚拟机配置支持libc等指…

《Git 简易速速上手小册》第4章:Git 与团队合作(2024 最新版)

文章目录 4.1 协作流程简介4.1.1 基础知识讲解4.1.2 重点案例&#xff1a;为 Python Web 应用添加新功能4.1.3 拓展案例 1&#xff1a;使用 CI/CD 流程自动化测试4.1.4 拓展案例 2&#xff1a;处理 Pull Request 中的反馈 4.2 使用 Pull Requests4.2.1 基础知识讲解4.2.2 重点案…

【Linux系统 04】OpenEuler配置

目录 一、镜像文件下载 二、配置静态IP 三、启动SSH连接 四、免密登录 五、安装常用软件 一、镜像文件下载 官方下载地址&#xff1a;openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网 选择一个版本&#xff0c;lopenEuler通常有两种版本&#xff1a; 创新版&…