Flutter中表單元件綜合運用例項
前面介紹了Flutter的各個表單元件的運用,現將這些元件用來實現一個綜合練習。
實現的效果圖如下:
以下是程式碼實現,供大家參考:
import 'package:flutter/material.dart';
class FormPage extends StatefulWidget {
FormPage({Key key}) : super(key: key);
@override
_FormPageState createState() => _FormPageState();
}
class _FormPageState extends State<FormPage> {
String username ;
int sex=1;
// 使用者的愛好集合
List hobby = [
{
"checked":true,
"title":"玩遊戲"
},
{
"checked":true,
"title":"寫程式碼"
},
{
"checked":true,
"title":"打豆豆"
}
];
String info = "";
// 姓別選擇的回撥方法
void _sexChange(value){
setState(() {
this.sex = value;
});
}
List<Widget> _getHobby(){
List <Widget> tempList=[];
for(int i =0;i<this.hobby.length;i++){
tempList.add(
Row(
children: <Widget>[
Text(this.hobby[i]["title"]+':'),
Checkbox(
value:this.hobby[i]["checked"],
onChanged:(value){
setState(() {
this.hobby[i]["checked"] = value;
});
},
)
],
)
);
}
return tempList;
}
@override
Widget build(BuildContext context) {
return Container(
child: Scaffold(
appBar: AppBar(
title: Text("資訊錄入系統"),
),
body:Padding(padding:
EdgeInsets.all(20),
child: Column(
children: <Widget>[
// 單行文字輸入框
TextField(
decoration: InputDecoration(
hintText: "請輸入使用者資訊"
),
onChanged: (value){
setState(() {
this.username = value;
});
},
),
SizedBox(height:20),
// 單選按鈕
Row(
children:<Widget>[
Text('男'),
Radio(
value:1,
onChanged: this._sexChange,
groupValue: this.sex,
),
SizedBox(width:20),
Text("女"),
Radio(
value:2,
onChanged:this._sexChange,
groupValue:this.sex,
)
]
),
SizedBox(height:20),
// 多選框
Column(
children:this._getHobby(),
),
SizedBox(height:20),
// 多行文字域
TextField(
maxLines: 4,
decoration: InputDecoration(
border: OutlineInputBorder(),
hintText: "請輸入備註資訊"
),
onChanged:(value){
setState(() {
this.info = value;
});
},
),
SizedBox(height:20),
// 登入按鈕
Container(
width:double.infinity,
height:40,
child:RaisedButton(
child: Text("登入"),
onPressed:(){
print(this.sex);
print(this.username);
print(this.hobby);
print(this.info);
},
color:Colors.blue,
textColor:Colors.white
)
)
],
)
)
),
);
}
}
相關文章
- Python簡單函式迴圈綜合例項Python函式
- cluster例項運用
- Android專案常用功能綜合例項Android
- element中表格合併單元格
- 05-論證基礎:綜合運用
- Flutter 入門例項Flutter
- Java 介面實現多型 -- 膝上型電腦綜合例項Java多型
- 基礎python5個例項運用Python
- Android 簡單瀏覽器例項-webview控制元件Android瀏覽器WebView控制元件
- React獲取元件例項React元件
- 元件例項 $el 詳解元件
- javaSE綜合例項之記事本詳細解析--長篇(初學者)Java
- 用flutter很簡單的實現一個時光軸樣式【flutter20個例項之五】Flutter
- 抽象結合例項 Employee抽象
- 深入淺出Win32多執行緒程式設計--之綜合例項Win32執行緒程式設計
- [Android]Gank 元件化例項AppAndroid元件化APP
- Flutter 例項 - 從本地到Flutter通訊 - Event ChannelsFlutter
- webpack+react+antd單頁面應用例項WebReact
- Flutter 例項 - 載入更多的ListViewFlutterView
- JavaScript in運算子程式碼例項JavaScript
- Flutter 中的單例模式Flutter單例模式
- Flutter(able) 的單例模式Flutter單例模式
- Jmeter-邏輯控制器If Controller的例項運用JMeterController
- PHP 完整表單例項PHP單例
- Redis單例項安裝Redis單例
- “單例”模式與它在原始碼中的運用單例模式原始碼
- scroll-view元件bindscroll例項應用:自定義滾動條View元件
- 在Cucumber中應用 PicoContainer容器實現元件的例項化AI元件
- 教資 - 綜合(12)_單選題
- [邊學邊練]用簡單例項學習React單例React
- dd應用例項
- 用flutter給圖片加個好看的遮罩層【flutter20個例項之六】Flutter遮罩
- [-綜合篇-] 相機、OpenGL、視訊、Flutter和SurfaceViewFlutterView
- JavaScript運動框架程式碼例項JavaScript框架
- 運動員與教練例項
- 例項分享| anyRTC 部署南京某區城市執行“一網統管”綜合排程系統
- rac恢復到單例項單例
- 單例項mysql.yaml kubernetes單例MySqlYAML