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,一经查实,立即删除!

相关文章

request.getAttribute()的数据类型转换问题

request.getAttribute("")返回的是object类型 int amount (int)request.getAttribute("buyamount"); 这种的转换方式一直会报错,需要强制解封装: int amount Integer.parseInt(request.getAttribute("buyamount").toS…

02_常用正则表达式

一、校验数字的表达式 1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)(.[…

复杂性系统面临的难题

来源:人机与认知实验室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里的属性例子:…

页面某个模块的文字内容是动态的,可能是几个字,也可能是一句话。然 后,希望文字少的时候居中显示,文字超过一行的时候居左显示。该如何实现?...

text-align属性只能在内联元素<!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>Document</title> <style> .box { padding: 10px; background-color: #cd0000; text-align: center; width:…

奈氏准则,香农定理

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

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

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

库存商品表html源码,JSP+Servlet+数据库的方式完成一个简易的库存商品管理系统...

【实例简介】JSPServlet数据库的方式完成一个简易的库存商品管理系统【实例截图】【核心代码】f48fd612-281d-454e-97d3-20c8f775879f└── Product├── ProductManageSystem│ ├── src│ │ └── com│ │ └── qbsp│ │ ├── servlet│ │ │…

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

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

Leetcode--560. 和为K的子数组

给定一个整数数组和一个整数 k&#xff0c;你需要找到该数组中和为 k 的连续的子数组的个数。 示例 1 : 输入:nums [1,1,1], k 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 说明 : 数组的长度为 [1, 20,000]。 数组中元素的范围是 [-1000, 1000] &#xff0c;且整数 k…

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

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

html表格ui,table表格 - 基础 - H-ui前端框架官方网站

表格系统默认表格表头表头表头类别表格内容表格内容类别表格内容表格内容类别表格内容表格内容....table H-ui默认表头表头表头类别表格内容表格内容类别表格内容表格内容类别表格内容表格内容....table-border 带水平线表头表头表头类别表格内容表格内容类别表格内容表格内容类…

PHP逐行解析文件,并写入数据库

$filePath为文件路径&#xff0c;上传文件则返回文件路径调用下面函数即可public function readText($filePath,&$errorCode,&$errorMessage){ try{ $file fopen($filePath, "r"); // 只读文件 if(empty($file)){ $errorCode …

数据编码信号调制

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

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

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

列表、字典补充点、strJoin方法、set()集合、和深浅拷贝

一 、对之前知识点的补充 str中的join方法&#xff0c;把列表换成字符串 1 s "_".join("ABC") #可迭代对象 2 print(s&#xff09; 3 >>>A_B_C 二、字典和列表在循环的时候不能直接删除&#xff0c;可以复制一个新列表&#xff0c;循环新列表、…

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

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