Flutter質(zhì)感設(shè)計之表單輸入
FormField控件是單一表單字段,這個控件維護表單字段的當前狀態(tài),以便更新和驗證錯誤能在UI中可見。TextField控件就是在FormField中包裝了一個Input控件(后面的文章講解),F(xiàn)ormField維護輸入的當前值,使您不需要自己管理它,更容易一次保存,重置或驗證多個字段。
import 'package:flutter/material.dart'; class MyApp extends StatefulWidget { @override _MyApp createState() => new _MyApp(); } class _MyApp extends State<MyApp> { String _lastName; String _firstName; GlobalKey<FormState> _formKey = new GlobalKey<FormState>(); void _showMessage(String name) { showDialog<Null>( context: context, child: new AlertDialog( content: new Text(name), actions: <Widget>[ new FlatButton( onPressed: () { Navigator.pop(context); }, child: new Text('確定') ) ] ) ); } @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text('表單輸入') ), // Form:用于將多個表單控件組合在一起的容器 body: new Form( key: _formKey, child: new Column( children: <Widget> [ // TextFieldd:包含輸入的表單控件,每個表單字段都應(yīng)該在FormField控件中 new TextField( labelText: '姓氏', // onSaved:當通過Form.save()保存表單時調(diào)用的方法 onSaved: (InputValue value) { _lastName = value.text; } ), new TextField( labelText: '名字', onSaved: (InputValue value) { _firstName = value.text; } ), new Row( children: <Widget> [ new RaisedButton( child: new Text('重置'), onPressed: () { // reset():將此Form下的每個TextField重置為初始狀態(tài) _formKey.currentState.reset(); _showMessage('姓名信息已經(jīng)重置'); } ), new RaisedButton( child: new Text('提交'), onPressed: () { // save():保存Form下的每個TextField _formKey.currentState.save(); _showMessage('你的姓名是'+_lastName+_firstName); } ) ] ) ] ) ) ); } } void main() { runApp(new MaterialApp( title: 'Flutter Demo', home: new MyApp() )); }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
android實現(xiàn)人臉識別技術(shù)的示例代碼
本篇文章主要介紹了android人臉識別技術(shù)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03Android Gradle依賴管理、去除重復依賴、忽略的方式
這篇文章主要介紹了Android Gradle依賴管理、去除重復依賴、忽略的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03Android SQLite數(shù)據(jù)庫連接實現(xiàn)登錄功能
這篇文章主要為大家詳細介紹了Android SQLite數(shù)據(jù)庫連接實現(xiàn)登錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-10-10Android程序打開和對輸入法的操作(打開/關(guān)閉)
整理了一下Android下對輸入法的操作:打開輸入法窗口、關(guān)閉出入法窗口、如果輸入法打開則關(guān)閉,如果沒打開則打開、獲取輸入法打開的狀態(tài)2013-05-05Android中TextView實現(xiàn)超過固定行數(shù)顯示“...展開全部”
這篇文章主要給大家介紹了關(guān)于Android中TextView如何實現(xiàn)超過固定行數(shù)顯示"...展開全部"的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-12-12Android實現(xiàn)屏幕旋轉(zhuǎn)方法總結(jié)
這篇文章主要介紹了Android實現(xiàn)屏幕旋轉(zhuǎn)方法,實例總結(jié)了屏幕旋轉(zhuǎn)的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04關(guān)于Android發(fā)送短信獲取送達報告的問題(推薦)
最近公司開發(fā)一個項目,要求app能夠發(fā)送短信并獲取送達報告。實現(xiàn)代碼非常簡單的,下面小編給大家分享關(guān)于Android發(fā)送短信獲取送達報告的問題,感興趣的朋友一起看看吧2017-03-03Android編程之數(shù)據(jù)庫Sql編程實例分析
這篇文章主要介紹了Android編程之數(shù)據(jù)庫Sql編程,實例分析了Android操作Sqlite數(shù)據(jù)庫的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04