Flutter 中常见的表单有 TextField 单行文本框,TextField 多行文本框、CheckBox、Radio、Switch、CheckboxListTile、RadioListTile、SwitchListTile、Slide.
TextField 文本框组件
常用属性:
- maxLines :设置此参数可以把文本框改为多行文本框
- onChanged: 文本框改变的时候触发的事件
- decoration:hintText 类似 html 中的 placeholder ;border 配置文本框边框 OutlineInputBorder 配合使用 ;labelText lable 的名称 ;labelStyle 配置 lable 的样式
- obscureText :把文本框框改为密码框
- controller :controller 结合 TextEditingController()可以配置表单默认显示的内容
首先需要注意的是,因为表单就会涉及到表单值得改变,因此,需要使用StatefulWidget:
import 'package:flutter/material.dart';
void main(){ runApp(MyApp());}
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
return MaterialApp(
home:Scaffold(
appBar: AppBar(
title:Text("flutter demo")
),
body: TextFieldDemoPage(),
)
);
}
}
class TextFieldDemoPage extends StatefulWidget {
TextFieldDemoPage({Key key}) : super(key: key);
_TextFieldDemoPageState createState() => _TextFieldDemoPageState();
}
class _TextFieldDemoPageState extends State<TextFieldDemoPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('表单演示页面'),
),
body: Padding(
padding: EdgeInsets.all(20),
child:Column(
children: <Widget>[
TextField(
decoration: InputDecoration(
hintText: "请输入用户名"
),
),
],
) ,
)
);
}
}

上面实现了TextField的简单使用。然后,我们还可以结合上面的常用属性,实现一些其他的功能和样式:



代码下载:点这里(提取码:ud89)
获取TextField 文本框内容