html 文本框 初始化,Flutter 文本框初始化时显示默认值

刚开始作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这个组件

bVcPx0K

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:

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

bVcPx0P

TextField(

obscureText: true,

decoration: InputDecoration(

border: OutlineInputBorder(),

labelText: 'Password',

),

)

总结:

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

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

TextFormField须要个Form组件。

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

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

相关文章

复杂性系统面临的难题

来源:人机与认知实验室1 什么是复杂性目前无法表述清楚在汉语中“复杂”一词的意思为“事物的种类、头绪等多而杂”。在《朗文当代英语词典》中,形容词complex被解释为:(1)难于理解、解释或处理,不清楚或不简单; (2)由…

MySQL优化(2)--------常用优化

前言 之前已经简单介绍了MySQL的优化步骤,那么接下来自然而是就是常用的SQL优化,比如inseer、group by等常用SQL的优化,会涉及SQL语句内部细节(这正是我缺乏的)。最后希望自己能记录完成的一套MySQL优化博文&#xff0…

码元,波特,速率,带宽

码元:一个固定时长的信号波形,代表不同离散数值的基本波形 1码元可以携带多个比特的信息量 例如:下图就称为二进制码元,因为只有两种状态,一种代表0状态,一种代表1状态 还有其他进制码元 时长称为码元宽…

大爆炸之前的宇宙是什么样子?|赠书

来源:科研圈宇宙蛋难题古代的创世神话往往表现出奇妙的独创性,但是追根究底,它们只有两个基本的选择:宇宙要么是在有限的时间以前被创造的,要么就是永恒存在的。以下是神圣的印度教经文《奥义书》中描述的场景&#xf…

js获取html样式属性,js怎么获取指定css属性的值?

js怎么获取指定css属性的值?下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。js怎么获取指定css属性的值?1、通过dom.style.属性 来获取但是这种方法无法获取id、class里的属性例子:…

奈氏准则,香农定理

失真 现实中的信道(带宽受限,有噪声,干扰),导致一些信号发生问题 影响失真的因素: 码元传输速率(越快,失真越严重) 信号传输距离(越远越严重) 噪声干扰 传输媒体质…

IBM中国研究院被曝已全面关闭

来源:AI科技评论作者:青暮AI科技评论最新消息,网传IBM中国研究院(IBM CRL)已经全面关闭。AI科技评论求证圈内权威人士,其表示消息大概率属实。IBM研究院是IBM公司的一个(研究)部门&a…

图形化安装配置:安装oracle、新建数据库、用plsql连接oracle,套路明白了其实挺简单...

1:安装oracle。 我的安装路径是c:\app,那oracle_home就是:C:\app\guestAdmin\product\11.2.0\dbhome_1。 装完后菜单在这里: 2:创建数据库his,注意:oracle的每个数据库,都是一个服务…

细数高光时刻,2020全球科技巨头如何激战AI?

来源:嵌入式资讯精选本文作者:Jiachang Pan编辑:SV Insight最近,百度、谷歌等多家科技巨头相继发布2020年AI发展总结。2020年12月30日,百度以一篇万字长文《百度AI的2020》向2020年告别。2021年1月12日,谷歌…

数据编码信号调制

信道上传送的信号也可以分为: 基带信号:将数字信号1,0直接用两种不同的电压表示,再送到数字信道上去传输 直接表达了要输出的信息的信号。 基带信号在数字信道上去传输,就叫做基带传输 宽带信号:将基带…

人为什么要学数学 ——数学意义的哲学思考

来源:算法与数学之美编辑 ∑Gemini人为什么要学数学?其实很多人并不清楚,甚至存在许多认识误区.有学生认为,“数学除了买东西的时候有点用,考试的时候有点用,没有多大的实际用途.”还…

html标签始终在右下角,html+javascript实现图片始终在页面右下角

标题页function setVariables() {imgwidth235; //图像的宽度imgheight19; //图像的高度if (navigator.appName "Netscape") { //netscape下的位置设置horz".left";vert".top";docStyle"document.";styleDoc"";innerW"…

Gary Marcus:AI 可以从人类思维中学习的11个启示

来源:AI科技评论作者:Gary Marcus、Ernest Davis编译:陈彩娴1969 年图灵奖得主、MIT 人工智能实验室创始人马文明斯基(Marvin Minsky)在其1986年著作《心智社会》(The Society of Mind)一书中曾…

我们的大脑,足以理解大脑本身吗?

来源: 利维坦树突(红色)神经元的分支过程,接收突触信息的突出棘的渲染,以及来自小鼠大脑皮层的饱和重建(多色圆柱体)。© Lichtman Lab at Harvard University利维坦按:关于大脑…

Leetcode--17.电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af…

安全技术可以采用计算机安全,2017年计算机三级《信息安全技术》习题

2017年计算机三级《信息安全技术》习题信息安全技术主要培养熟练掌握网络设备的安装、管理和维护,能分析企业网络和信息系统安全漏洞、及时解决网络安全问题,并能够根据企事业单位业务特点设计制作安全的电子商务/政务网站的专业人员。以下是小编整理的2…

福布斯:14位技术专家预测,未来哪些行业将被AI颠覆?

来源:Forbes转自:新智元未来,哪些行业将从人工智能中受益?14位技术专家对哪些行业和部门最终将从AI中受益最大进行了预测。哪些行业将受益于AI?目前,人工智能和机器学习已进入许多不同的行业,改…

打开AI芯片的“万能钥匙”

来源:雷锋网 作者:包永刚雷锋网按,新推出的AI芯片因架构的独特性和软件的易用性增加了客户尝试和迁移的成本,因此,软件成为了能否快速、低成本迁移的关键。现在普遍的做法是在TensorFlow写一些后端集成新硬件&#xff…

因果推理、正则化上榜:权威专家盘点过去50年最重要的统计学思想

来源:机器学习研究组订阅在日常生活中,统计学无处不在,每个人、每件事似乎都可以使用统计数据加以说明。随着人类迈入大数据时代,统计学在方方面面更是发挥了不可或缺的作用。统计学思想,就是在统计实际工作、统计学理…

Nginx正向与反向代理

Nginx 主要用于反向代理与负载均衡 什么是代理服务器(Proxy Serve)? 提供代理服务的电脑系统或其它类型的网络终端,代替网络用户去取得网络信息。 为什么使用代理服务器? 提高访问速度 由于目标主机返回的数据会存放在代理服务…