Flutter form 的表单 input

摘要:
点击空白input失去焦点,在页面的Scaffold外层加GestureDetector(behavior:HitTestBehavior.translucent,onTap:(){FocusScope.of(context).requestFocus(FocusNode());},child:);一、Flutter常用表单介绍Flutter中常见的表单有TextField单行文本框,TextFi

点击空白 input 失去焦点, 在页面的Scaffold外层加

GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {FocusScope.of(context).requestFocus(FocusNode());},
child:
);
一、Flutter 常用表单介绍
Flutter 中常见的表单有 TextField 单行文本框,TextField 多行文本框、CheckBox、Radio、SwitchCheckboxListTile、RadioListTile、SwitchListTile、Slide.
二、TextField 文本框组件
TextField 表单常见属性:
maxLines设置此参数可以把文本框改为多行文本框
onChanged文本框改变的时候触发的事件
decoration
hintText 类似 html 中的 placeholder
border配置文本框边框 OutlineInputBorder 配合使用
labelText lable 的名称
labelStyle 配置 lable 的样式
obscureText把文本框框改为密码框
controllercontroller 结合 TextEditingController()可以配置表单默认显示的内容
三、Checkbox、CheckboxListTile 多选框组件
Checkbox 常见属性:
valuetrue 或者 false
onChanged改变的时候触发的事件
activeColor选中的颜色、背景颜色
checkColor选中的颜色、Checkbox 里面对号的颜色
CheckboxListTile 常见属性:
valuetrue 或者 false
onChanged改变的时候触发的事件
activeColor选中的颜色、背景颜色
title标题
subtitle二级标题
secondary配置图标或者图片
selected选中的时候文字颜色是否跟着改变
四、Radio、RadioListTile 单选按钮组件
Radio 常用属性:
value单选的值
onChanged改变时触发
activeColor选中的颜色、背景颜色
groupValue选择组的值
RadioListTile 常用属性:
RadioListTile常用属性
valuetrue 或者 false
onChanged改变的时候触发的事件
activeColor选中的颜色、背景颜色
title标题
subtitle二级标题
secondary配置图标或者图片
groupValue选择组的值
五、开关 Switch
value单选的值
onChanged改变时触发
activeColor选中的颜色、背景颜色
表单验证  正则格式  RegExp(r'[u4e00-u9fa5]')
inputFormatters: [
WhitelistingTextInputFormatter(RegExp('[a-zA-Z]')), //只允许输入字母
WhitelistingTextInputFormatter.digitsOnly, // 只允许输入数字
WhitelistingTextInputFormatter(RegExp("[0-9.]")), //允许输入小数
LengthLimitingTextInputFormatter(5), // 限制字符串长度
WhitelistingTextInputFormatter(RegExp("[a-zA-Z]|[u4e00-u9fa5]|[0-9]")) //只能输入汉字或者字母或数字
],
案例代码
 TextField(decoration: InputDecoration(hintText: '用户名'), controller: TextEditingController(text: defaultText)),
RaisedButton(child: Text('按钮'), onPressed: () {setState(() {defaultText = '666';});},),
SizedBox(height:5),
TextField(decoration: InputDecoration(hintText: '用户名', border: OutlineInputBorder()),),
SizedBox(height:5),
TextField(decoration: InputDecoration(border: OutlineInputBorder(), labelText: '用户名', labelStyle: TextStyle(color: Colors.red)), ),
SizedBox(height:5),
TextField(obscureText: true, decoration: InputDecoration(hintText: '输入密码', border: OutlineInputBorder()),),
SizedBox(height:5),
TextField(maxLines: 4, decoration: InputDecoration(hintText: '用户名', border: OutlineInputBorder()),),
// 多选框
Checkbox(value: checkFlag, onChanged: (val) { setState(() { checkFlag = val; });},),
Row(
children: <Widget>[
Checkbox(value: checkFlag, onChanged: (val) { setState(() { checkFlag = val; });},),
Text('123'),
],
),
CheckboxListTile(secondary: Icon(Icons.home), title: Text('123'), subtitle: Text('456'), value: checkFlag, onChanged: (val) { setState(() { checkFlag = val; });}),
// Radio
Row(
children: <Widget>[
Text('男:'),
Radio(value: 1, onChanged: (val) { setState(() {radioFlag = val;});}, groupValue: radioFlag,),
Text('女:'),
Radio(value: 2, onChanged: (val) { setState(() {radioFlag = val;});}, groupValue: radioFlag,),
Text('保密:'),
Radio(value: 3, onChanged: (val) { setState(() {radioFlag = val;});}, groupValue: radioFlag,),
],
),
RadioListTile(value: 1, title: Text('123'), subtitle: Text('456'), secondary: Icon(Icons.home), groupValue: radioFlag, onChanged: (val) { setState(() {radioFlag = val;});}),
RadioListTile(value: 2, title: Text('123'), subtitle: Text('456'), secondary: Icon(Icons.home), groupValue: radioFlag, onChanged: (val) { setState(() {radioFlag = val;});}),

免责声明:文章转载自《Flutter form 的表单 input》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JFinal开发8个常见问题IOS VLC (第三方音频)的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

bootstrap-table:操作栏点击编辑按钮弹出模态框修改数据

核心代码: columns: [ { checkbox:true //第一列显示复选框 },                  ......

表单绑定 v-model的使用

表单控件在实际开发中是非常常见的。特别是对于用户信息的提交,需要大量的表单。 Vue中使用v-model指令来实现表单元素和数据的双向绑定 1、v-model的基本使用 <div id="app"> <input type="text" V-model="message"> <h2>{{message}}<...

初学Python常见异常错误,总有一处你会遇到!

初学Python常见错误 忘记写冒号 误用= 错误 缩紧 变量没有定义 中英文输入法导致的错误 不同数据类型的拼接 索引位置问题 使用字典中不存在的键 忘了括号 漏传参数 缺失依赖库 使用了python中对关键词 编码问题 1. 忘记写冒号 在 if、elif、else、for、while、def语句后面忘记添加 : age = 42 if age...

前端checkbox默认勾选状态的判断

最近迭代版本的 加了一个新功能 每一条数据有一个checkbox 然后后端传过来的是 每条数据的名字的字符串 并不是ID   然后根据名字去给他加默认有勾选状态或者没有勾选状态 input.checked = (给你传的名字.indexOf(每一条数据的名字)<0) 当然 checked的值 只是ture 或者false 你还需要在其他地方判断一下...

Spring MVC-表单(Form)标签-隐藏字段(Hidden Field)示例(转载实践)

以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_hidden.htm 说明:示例基于Spring MVC 4.1.6。 以下示例显示如何使用Spring Web MVC框架在窗体中使用隐藏字段。首先,让我们使用Eclipse IDE,并按照以下步骤使用Spring Web Framewo...

自动化测试 python2.7 与 selenium 2 学习

windows环境搭建 # 下载 python【python 开发环境】 http://python.org/getit/ # 下载 setuptools 【python 的基础包工具】setuptools 是 python 的基础包工具,可以帮助我们轻松的下载,构建,安装,升级,卸载 python的软件包。 http://pypi.python.o...