刚开始作Flutter文本框时候,使用的是TextField。彷佛大多数状况下都没有问题。代码形式以下:html

class _FooState extends State {

TextEditingController _controller;

@override

void initState() {

super.initState();

_controller = new TextEditingController(text: '初始化内容');

}

@override

Widget build(BuildContext context) {

return new Column(

children: [

new TextField(

// 当TextField 第一次建立时,controller会包含初始值,

// 当用户修改文本框内容时,会修改controller的值。

controller: _controller,

),

new RaisedButton(

onPressed: () {

// 经过clear()能够清空controller的值。

_controller.clear();

},

child: new Text('清空'),

),

],

);

}

}

问题1:动态建立文本框初始值

通常状况下,直接使用这种方式,没有任何问题。可是如今有一种状况:api

问题1:当页面文本框中的初始值是动态的,从后台获取到的时候,应该怎么办呢?

这种状况下,说明建立TextEditingController时,并不知道文本内容。这个时候若是动态修改controller的话,会报错,根本无法使用。ide

这种状况我根本没遇到过,可是我以为Flutter确定有解决方法。因此我去找了一下Flutter的文档,总算是没有白找,找到了一个(https://api.flutter.dev/flutt... TextFormField。ui

文档中有一句:spa

If a controller is not specified, initialValue can be used to give the automatically generated controller an initial value.

意思就是说,当不指定controller时,initialValue 就能够自动生成controller的初始值。code

既然有解决方案,那么就是修改一下代码便可。orm

class _FooState extends State {

@override

void initState() {

super.initState();

}

@override

Widget build(BuildContext context) {

return new Column(

children: [

new TextFormField(

initialValue: "初始值"

),

],

);

}

}

经过TextFormField这个组件,轻松解决掉这个问题了。htm

问题2: TextField和TextFormField的区别?

问题虽然解决了,可是如今又有另一个问题了:ci

问题2: TextField和TextFormField的区别是什么?何时使用TextField?何时使用TextFormField?

TextFormField:文档

例如制做一个表单,表单中有用户姓名,姓名必须包含@符号。这个时候就须要使用TextFormField这个组件

TextFormField(

autovalidateMode: AutovalidateMode.always, // 开启自动验证

decoration: const InputDecoration(

icon: Icon(Icons.person),

hintText: 'What do people call you?',

labelText: 'Name *',

),

onSaved: (String value) {

// 当用户保存表单时,返回内容。

},

validator: (String value) { // 表单验证

return value.contains('@') ? 'Do not use the @ char.' : null;

},

)

TextField:

例如制做一个显示文本框,框中提示输入文本框中的内容信息。

TextField(

obscureText: true,

decoration: InputDecoration(

border: OutlineInputBorder(),

labelText: 'Password',

),

)

总结:

若是须要使用保存、重置、验证用户输入的状况下,使用TextFormField。

若是只须要简单的捕获用户的输入行为,只须要使用TextField组件便可。

TextFormField须要个Form组件。

html 文本框 初始化,Flutter 文本框初始化时显示默认值相关推荐

  1. python 简洁优雅的装饰数据类——dataclass(通过生成只有部分属性值的子类解决初始化时没有默认值必须传所有字段值的问题)

    首先安利一下 dataclass 给不太了解这个东西的小伙伴 分享一个写的不错的入门文章: 理解 Python 的 Dataclasses(一)(10min 左右即可看完) 我这里直接举一个栗子如下, ...

  2. HTML、css——设置文本框中的默认字体颜色和点击输入的文本字体颜色不一致;并且点击文本框,文本框边框消失;输入内容时,默认字体消失。

    html代码: 功能:点击输入的文本字体颜色的设置,并且输入内容时,文本框里的默认字消失. <input type="text" placeholder="手机号. ...

  3. elementui中多选下拉框 multiple属性时 编辑表单如何显示默认值问题解决 以及校验验证问题

    首先 这是点击编辑以后 期待的样子 但是使用过程中出现了不现实的问题 之后找到了问题所在 这个下拉框的value是这种样子的[1,2,3,4] 给到数据库的时候我给他去掉了中括号变成了字符串就是这样子 ...

  4. 泛微OA 子表单中文本框设置默认值不显示的问题

    2021年5月18日 截止以上日期,子表单可能存在bug,解决方式: 这个不显示默认值的文本框(比如叫默认值文本框),必须设置显示条件: 1.如果没有条件,创造一个:在任意位置添加一个文本框(用户ID ...

  5. 单选、复选框、下拉框测试点

    单选 1.一组单选按钮不能同时选中,且不能同时为空 2.逐一选择每个单选项,查看存入数据库的是不是所选的选项值 3.是否有默认的选项,有默认值时刷新页面后,是否显示选中的值或显示默认值 复选框 1.可 ...

  6. python继承 子类init_Python类继承:使用自己的和父的默认值和init方法进行动态子类初始化...

    我试图创建一个类系统,这些类可以用**kwargs初始化,并且每个字段都有默认值.下面是一些代码,表示我要做的事情:class Parent(object): #should only have p_ ...

  7. C++变量的初始化问题及列表初始化

    在C++中,初始化是一个异常复杂的问题,很多人认为初始化是赋值的一种,事实上,初始化和赋值是两个完全不同的操作. 列表初始化 要定义一个名为haif的int变量并初始化为0,以下4条语句都可以做到. ...

  8. java pdf表单域实现_Java 创建PDF表单域 - 文本框、复选框、列表框、组合框、按钮等...

    表单域包括文本框.复选框.列表框.组合框.按钮和签名域等,主要用于收集用户填写或选择的数据.这篇文章将介绍如何在Java应用程序中给PDF文档添加表单域. 导入jar文件 本文所使用的PDF类库是Fr ...

  9. Word控件Spire.Doc 【文本】教程(5) ;从 Word 文档中的文本框中提取文本

    文本框的目的是允许用户输入程序要使用的文本信息.也可以从文本框中提取现有的文本信息.以下指南重点介绍如何通过Spire.Doc for .NET从 C# 中 Word 文档的文本框中提取文本. Spi ...

最新文章

  1. gin自定义HTTP配置
  2. 2013年2月28日星期四
  3. MongoDB 权限认证
  4. [转人工智能工程师学习路线及具备的5项基本技能
  5. linux脚本怎么获取参数,在Bash shell脚本编程中,如何正确无误获取到“脚本选项参数”和“脚本参数”呢?...
  6. ORACLE取周、月、季、年的開始时间和结束时间
  7. 未来三年分布式光伏必然爆发
  8. Atitit Hadoop的MapReduce的执行过程、数据流的一点理解。 目录 1. Why 为什么使用hadoop 1 2. Hadoop的MapReduce的执行过程 1 2.1. Had
  9. pyplot输出的绘图界面出现中文乱码的解决方案
  10. 网络编程 :System.Net概述(1)
  11. lasermaker海绵宝宝图纸
  12. Discuz3.数据库数据表字典详解(完整版)
  13. linux 查询某字符串得行号和截图指定范围得文件
  14. win7如何在桌面上加计算机,详细教您win7如何添加显示桌面图标
  15. QT(2)-QRegExp
  16. Epub解析 -- Pageturner
  17. 最优化算法单纯形法的matlab实现(单纯形法看这一篇就够了)
  18. 哈哈~,终于把阿里妈妈的广告申请下来了
  19. (转)龙讯网无预警破产 数百员工集体讨薪(组图)
  20. 南中轴爆发!南苑湿地公园绿化过半 将再现“南囿秋风”

热门文章

  1. 数据结构--栈--共享顺序栈
  2. ad域不去用frs_Windows Server 2008搭建AD域控服务器 - 小王同学!
  3. 机器学习简介及学习思维导图
  4. 数据分析案例:亚洲国家人口数据计算
  5. 七年级上册计算机重点知识点,初一上册数学重点知识点
  6. php框架laravel百科,PHP 的Laravel 框架
  7. 一阶电路暂态响应的结果分析。_阻尼比测试方法及谐响应分析
  8. 100篇论文串讲对话系统前世今生
  9. 16 操作系统第四章 文件管理 文件的基本操作 文件共享 文件保护 文件系统的层次结构
  10. 08.MyBatis整合Log4j