栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Flutter开发之——表单组件(1),三年经验Android开发面经总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flutter开发之——表单组件(1),三年经验Android开发面经总结

三 表单组件基本用法


3.1 基本用法代码

Form(child: Column(

children: [

Text(“用户名:”),

TextFormField(),

Text(“密码:”),

TextFormField(),

RaisedButton(onPressed: (){},child: Text(“登录”),)

],

),)

3.2 效果图

四 表单属性用法


4.1 表单属性代码

//变量定义

var userNameController = new TextEditingController();

var passWordController = new TextEditingController();

var _userNameFieldValue = ‘’;

var _passWordFieldValue = ‘’;

var _name = ‘’;

var _pwd = ‘’;

final _formKey = GlobalKey();

//body部分

body: Form(

key: _formKey,

onWillPop: () async {

return await showDialog(

context: context,

builder: (BuildContext context) {

return alertDialog(

title: Text(‘提示’),

content: Text(‘确认退出吗?’),

actions: [

FlatButton(

child: Text(‘取消’),

onPressed: () {

Navigator.of(context).pop(false);

},

),

FlatButton(

child: Text(‘确认’),

onPressed: () {

Navigator.of(context).pop(true);

},

),

],

);

});

},

//autovalidateMode:AutovalidateMode.disabled ,

child: Column(

children: [

Text(

“用户名”,

style: TextStyle(

color: Colors.black,

fontSize: 16,

fontWeight: FontWeight.bold),

),

TextFormField(

controller: userNameController,

decoration: InputDecoration(

icon: Icon(Icons.person),

suffixIcon: Icon(Icons.delete),

labelText: “请输入用户名”,

counterText: “${_userNameFieldValue.length}/32”),

autovalidateMode: AutovalidateMode.disabled,

validator: (userName) {

if (userName.length < 3) {

return “用户名过短”;

}

return null;

},

onChanged: (value) {

setState(() {

_userNameFieldValue = value;

});

},

onSaved: (value) {

_name = value;

},

keyboardType: TextInputType.number,

textCapitalization: TextCapitalization.words,

textInputAction: TextInputAction.search,

),

Text(“密码”,

style: TextStyle(

color: Colors.black,

fontSize: 16,

fontWeight: FontWeight.bold)),

TextFormField(

controller: passWordController,

decoration: InputDecoration(

icon: Icon(Icons.lock),

suffixIcon: Icon(Icons.delete),

labelText: “请输入密码”,

counterText: "${_passWordF

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

ieldValue.length}/32",

),

autovalidateMode: AutovalidateMode.disabled,

obscureText: true,

validator: (passWord) {

if (passWord.length < 3) {

return “密码过短”;

}

return null;

},

onChanged: (value) {

setState(() {

_passWordFieldValue = value;

});

},

onSaved: (value) {

_pwd = value;

},

),

RaisedButton(

onPressed: () {

var _state = _formKey.currentState;

if (_state.validate()) {

_state.save();

login(_name, _pwd);

}

//login(_userNameFieldValue, _passWordFieldValue);

},

child: Text(“登录”),

)

],

),

onChanged: () {

//print(“用户名:${userNameController.text}”);

//print(“密码:${passWordController.text}”);

},

));

//login方法

void login(String name, String pwd)

{

print(“用户名: n a m e , 密 码 : name,密码: name,密码:_pwd”);

userNameController.clear();

passWordController.clear();

}

4.2 效果图

4.3 Form属性

| 属性 | 说明 | 取值 |

| :-: | :-: | :-: |

| key | 整个应用程序中唯一的密钥 | Key对象 |

| onWillPop | 返回按钮拦截后的小控件的方法 | WillPopCallback对象 |

| autovalidateMode | 输入框变化校验 | bool对象 |

| onChanged | 输入框发生变化时的回调函数 | Function对象 |

lear();

}

4.2 效果图

[外链图片转存中…(img-jlE3KApA-1640844230652)]

4.3 Form属性

| 属性 | 说明 | 取值 |

| :-: | :-: | :-: |

| key | 整个应用程序中唯一的密钥 | Key对象 |

| onWillPop | 返回按钮拦截后的小控件的方法 | WillPopCallback对象 |

| autovalidateMode | 输入框变化校验 | bool对象 |

| onChanged | 输入框发生变化时的回调函数 | Function对象 |

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/687048.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号